[dpdk-dev] [PATCH v4 08/10] drivers/raw: support for rawdev testcases

Thomas Monjalon thomas at monjalon.net
Wed Jan 31 15:01:46 CET 2018


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 <shreyansh.jain at nxp.com>

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



More information about the dev mailing list