This commit adds parsing unsigned base type (u8/u16/u32/u64) test.

Signed-off-by: Chengwen Feng <fengcheng...@huawei.com>
---
 app/test/test_argparse.c | 59 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 54 insertions(+), 5 deletions(-)

diff --git a/app/test/test_argparse.c b/app/test/test_argparse.c
index 98c6cd6b80..470c1bd2b6 100644
--- a/app/test/test_argparse.c
+++ b/app/test/test_argparse.c
@@ -733,19 +733,68 @@ static int
 test_argparse_parse_type(void)
 {
        char *str_erange = test_strdup("9999999999999999999999999999999999");
+       char *str_erange_u32 = test_strdup("4294967296");
+       char *str_erange_u16 = test_strdup("65536");
+       char *str_erange_u8 = test_strdup("256");
        char *str_invalid = test_strdup("1a");
        char *str_ok = test_strdup("123");
-       int value;
+       uint16_t val_u16;
+       uint32_t val_u32;
+       uint64_t val_u64;
+       uint8_t val_u8;
+       int val_int;
        int ret;
 
        /* test for int parsing */
-       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_INT, 
&value);
+       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_INT, 
&val_int);
        TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
-       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_INT, 
&value);
+       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_INT, 
&val_int);
        TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
-       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_INT, 
&value);
+       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_INT, 
&val_int);
        TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
-       TEST_ASSERT(value == 123, "Argparse parse type expect failed!");
+       TEST_ASSERT(val_int == 123, "Argparse parse type expect failed!");
+
+       /* test for u8 parsing */
+       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_U8, 
&val_u8);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_erange_u8, RTE_ARGPARSE_ARG_VALUE_U8, 
&val_u8);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_U8, 
&val_u8);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_U8, 
&val_u8);
+       TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
+       TEST_ASSERT(val_u8 == 123, "Argparse parse type expect failed!");
+
+       /* test for u16 parsing */
+       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_U16, 
&val_u16);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_erange_u16, 
RTE_ARGPARSE_ARG_VALUE_U16, &val_u16);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_U16, 
&val_u16);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_U16, 
&val_u16);
+       TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
+       TEST_ASSERT(val_u16 == 123, "Argparse parse type expect failed!");
+
+       /* test for u32 parsing */
+       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_U32, 
&val_u32);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_erange_u32, 
RTE_ARGPARSE_ARG_VALUE_U32, &val_u32);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_U32, 
&val_u32);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_U32, 
&val_u32);
+       TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
+       TEST_ASSERT(val_u32 == 123, "Argparse parse type expect failed!");
+
+       /* test for u64 parsing */
+       ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_U64, 
&val_u64);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_U64, 
&val_u64);
+       TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+       ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_U64, 
&val_u64);
+       TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
+       TEST_ASSERT(val_u64 == 123, "Argparse parse type expect failed!");
 
        return 0;
 }
-- 
2.17.1

Reply via email to