Re: [PATCH v4 08/10] drivers/raw: support for rawdev testcases
From: Thomas Monjalon <hidden>
Date: 2018-01-31 14:02:33
31/01/2018 10:13, Shreyansh Jain:
Patch introduces rawdev unit testcase for validation against the Skeleton rawdev dummy PMD implementation. Test cases are added along with the skeleton driver implementation. It can be enabled by using vdev argument to any DPDK binary: --vdev="rawdev_skeleton,self_test=1" In case 'self_test=1' is not provided, autotest doesn't execute the test cases but the vdev is still available for application use. Signed-off-by: Shreyansh Jain <redacted>
More compilation errors on 32-bit:
drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c:277:50: error:
cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
ret = rte_rawdev_set_attr(TEST_DEV_ID, "Test2", (uint64_t)dummy_value);
drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c:283:19: error:
format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘uint64_t {aka long long unsigned int}’ [-Werror=format=]
ret_value);
skeleton_rawdev.o: In function `skeleton_rawdev_probe':
skeleton_rawdev.c:(.text+0x75c): undefined reference to `rte_kvargs_parse'
skeleton_rawdev.c:(.text+0x782): undefined reference to `rte_kvargs_process'
skeleton_rawdev.c:(.text+0x799): undefined reference to `rte_kvargs_free'
skeleton_rawdev.c:(.text+0x814): undefined reference to `rte_kvargs_free'
Fixed:
--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c@@ -274,18 +274,18 @@ test_rawdev_attr_set_get(void) RTE_TEST_ASSERT(1, "Unable to allocate memory (dummy_value)"); *dummy_value = 200; - ret = rte_rawdev_set_attr(TEST_DEV_ID, "Test2", (uint64_t)dummy_value); + ret = rte_rawdev_set_attr(TEST_DEV_ID, "Test2", (uintptr_t)dummy_value); /* Check if attributes have been set */ ret = rte_rawdev_get_attr(TEST_DEV_ID, "Test1", &ret_value); RTE_TEST_ASSERT_EQUAL(ret_value, 100, - "Attribute (Test1) not set correctly (%lu)", + "Attribute (Test1) not set correctly (%" PRIu64 ")", ret_value); ret_value = 0; ret = rte_rawdev_get_attr(TEST_DEV_ID, "Test2", &ret_value); - RTE_TEST_ASSERT_EQUAL(*((int *)ret_value), 200, - "Attribute (Test2) not set correctly (%lu)", + RTE_TEST_ASSERT_EQUAL(*((int *)(uintptr_t)ret_value), 200, + "Attribute (Test2) not set correctly (%" PRIu64 ")", ret_value);
And in previous patch:
--- a/drivers/raw/skeleton_rawdev/Makefile
+++ b/drivers/raw/skeleton_rawdev/Makefile@@ -14,6 +14,7 @@ CFLAGS += $(WERROR_FLAGS) LDLIBS += -lrte_eal LDLIBS += -lrte_rawdev LDLIBS += -lrte_bus_vdev +LDLIBS += -lrte_kvargs