Applying this part shows whitespace errors:
bill@Ubuntu15:~/linaro/rupatch$ git am ~/Mail/Incoming/Ru/4
Applying: helper: test: add validation test of ip lookup table
.git/rebase-apply/patch:16: indent with spaces.
table$(EXEEXT)\
warning: 1 line adds whitespace errors.
On Fri, May 13, 2016 at 12:47 AM, Ru Jia <[email protected]> wrote:
> Signed-off-by: Ru Jia <[email protected]>
> ---
> helper/test/Makefile.am | 4 +-
> helper/test/iplookuptable.c | 150
> ++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 153 insertions(+), 1 deletion(-)
> create mode 100644 helper/test/iplookuptable.c
>
> diff --git a/helper/test/Makefile.am b/helper/test/Makefile.am
> index 7f0b67d..6ecb235 100644
> --- a/helper/test/Makefile.am
> +++ b/helper/test/Makefile.am
> @@ -9,7 +9,8 @@ EXECUTABLES = chksum$(EXEEXT) \
> thread$(EXEEXT) \
> parse$(EXEEXT)\
> process$(EXEEXT)\
> - table$(EXEEXT)
> + table$(EXEEXT)\
> + iplookuptable$(EXEEXT)
>
> COMPILE_ONLY =
>
> @@ -31,3 +32,4 @@ dist_process_SOURCES = process.c
> dist_parse_SOURCES = parse.c
> process_LDADD = $(LIB)/libodphelper-linux.la $(LIB)/libodp-linux.la
> dist_table_SOURCES = table.c
> +dist_iplookuptable_SOURCES = iplookuptable.c
> diff --git a/helper/test/iplookuptable.c b/helper/test/iplookuptable.c
> new file mode 100644
> index 0000000..59574a4
> --- /dev/null
> +++ b/helper/test/iplookuptable.c
> @@ -0,0 +1,150 @@
> +/* Copyright (c) 2015, Linaro Limited
> + * All rights reserved.
> + *
> + * SPDX-License-Identifier: BSD-3-Clause
> + */
> +
> +#include <stdio.h>
> +#include <stdint.h>
> +#include <string.h>
> +#include <stdlib.h>
> +#include <errno.h>
> +
> +#include <odp_api.h>
> +#include <test_debug.h>
> +#include <../odph_iplookuptable.h>
> +#include <odp/helper/ip.h>
> +
> +/*
> + * Check condition and return an error if true. Assumes that "table" is
> the
> + * name of the hash structure pointer to be freed.
> + */
> +#define RETURN_IF_ERROR(cond, str, ...) do { \
> + if (cond) { \
> + printf("ERROR line %d: " str "\n", __LINE__,
> ##__VA_ARGS__); \
> + if (table) \
> + odph_iplookup_table_destroy(table); \
> + return -1; \
> + } \
> +} while (0)
> +
> +static void print_prefix_info(
> + const char *msg, uint32_t ip, uint8_t cidr)
> +{
> + int i = 0;
> + uint8_t *ptr = (uint8_t *)(&ip);
> +
> + printf("%s IP prefix: ", msg);
> + for (i = 3; i >= 0; i--) {
> + if (i != 3)
> + printf(".");
> + printf("%d", ptr[i]);
> + }
> + printf("/%d\n", cidr);
> +}
> +
> +/*
> + * Basic sequence of operations for a single key:
> + * - put short prefix
> + * - put long prefix
> + * - get (hit long prefix)
> + * - remove long prefix
> + * - get (hit short prefix)
> + */
> +static int test_ip_lookup_table(void)
> +{
> + odph_iplookup_prefix_t prefix1, prefix2;
> + odph_table_t table;
> + int ret;
> + uint32_t value1 = 1, value2 = 2, result = 0, lkp_ip = 0;
> +
> + table = odph_iplookup_table_create(
> + "prefix_test", 0, 0, sizeof(uint32_t));
> + RETURN_IF_ERROR(table == NULL,
> + "IP prefix lookup table creation failed");
> +
> + ret = odph_ipv4_addr_parse(&prefix1.ip, "192.168.0.0");
> + RETURN_IF_ERROR(ret < 0,
> + "Failed to get IP addr from str");
> + prefix1.cidr = 11;
> +
> + ret = odph_ipv4_addr_parse(&prefix2.ip, "192.168.0.0");
> + RETURN_IF_ERROR(ret < 0,
> + "Failed to get IP addr from str");
> + prefix2.cidr = 24;
> +
> + ret = odph_ipv4_addr_parse(&lkp_ip, "192.168.0.1");
> + RETURN_IF_ERROR(ret < 0,
> + "Failed to get IP addr from str");
> +
> + /* test with standard put/get/remove functions */
> + ret = odph_iplookup_table_put_value(table, &prefix1, &value1);
> + print_prefix_info("Add", prefix1.ip, prefix1.cidr);
> + RETURN_IF_ERROR(ret < 0, "failed to add ip prefix");
> +
> + ret = odph_iplookup_table_get_value(table, &lkp_ip, &result, 0);
> + print_prefix_info("Lkp", lkp_ip, 32);
> + RETURN_IF_ERROR((ret < 0 || result != 1),
> + "failed to find longest prefix");
> +
> + /* add a longer prefix */
> + ret = odph_iplookup_table_put_value(table, &prefix2, &value2);
> + print_prefix_info("Add", prefix2.ip, prefix2.cidr);
> + RETURN_IF_ERROR(ret < 0, "failed to add ip prefix");
> +
> + ret = odph_iplookup_table_get_value(table, &lkp_ip, &result, 0);
> + print_prefix_info("Lkp", lkp_ip, 32);
> + RETURN_IF_ERROR((ret < 0 || result != 2),
> + "failed to find longest prefix");
> +
> + ret = odph_iplookup_table_remove_value(table, &prefix2);
> + print_prefix_info("Del", prefix2.ip, prefix2.cidr);
> + RETURN_IF_ERROR(ret < 0, "failed to delete prefix");
> +
> + ret = odph_iplookup_table_get_value(table, &lkp_ip, &result, 0);
> + print_prefix_info("Lkp", lkp_ip, 32);
> + RETURN_IF_ERROR((ret < 0 || result != 1),
> + "fail: found result after deleting!");
> +
> + ret = odph_iplookup_table_remove_value(table, &prefix1);
> + print_prefix_info("Del", prefix1.ip, prefix1.cidr);
> + RETURN_IF_ERROR(ret < 0, "failed to delete prefix");
> +
> + odph_iplookup_table_destroy(table);
> + return 0;
> +}
> +
> +int main(int argc TEST_UNUSED, char *argv[] TEST_UNUSED)
> +{
> + odp_instance_t instance;
> + int ret = 0;
> +
> + ret = odp_init_global(&instance, NULL, NULL);
> + if (ret != 0) {
> + fprintf(stderr, "Error: ODP global init failed.\n");
> + exit(EXIT_FAILURE);
> + }
> +
> + ret = odp_init_local(instance, ODP_THREAD_WORKER);
> + if (ret != 0) {
> + fprintf(stderr, "Error: ODP local init failed.\n");
> + exit(EXIT_FAILURE);
> + }
> +
> + if (test_ip_lookup_table() < 0)
> + printf("Test failed\n");
> + else
> + printf("All tests passed\n");
> +
> + if (odp_term_local()) {
> + fprintf(stderr, "Error: ODP local term failed.\n");
> + exit(EXIT_FAILURE);
> + }
> +
> + if (odp_term_global(instance)) {
> + fprintf(stderr, "Error: ODP global term failed.\n");
> + exit(EXIT_FAILURE);
> + }
> +
> + return ret;
> +}
> --
> 1.9.1
>
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> https://lists.linaro.org/mailman/listinfo/lng-odp
>
_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp