[08/12] test/argparse: add parse type test
Checks
Commit Message
This commit adds parse type test.
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/test/test_argparse.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
@@ -729,6 +729,27 @@ test_argparse_pos_callback_parse_int(void)
return 0;
}
+static int
+test_argparse_parse_type(void)
+{
+ char *str_erange = test_strdup("9999999999999999999999999999999999");
+ char *str_invalid = test_strdup("1a");
+ char *str_ok = test_strdup("123");
+ int value;
+ int ret;
+
+ /* test for int parsing */
+ ret = rte_argparse_parse_type(str_erange, RTE_ARGPARSE_ARG_VALUE_INT, &value);
+ TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+ ret = rte_argparse_parse_type(str_invalid, RTE_ARGPARSE_ARG_VALUE_INT, &value);
+ TEST_ASSERT(ret != 0, "Argparse parse type expect failed!");
+ ret = rte_argparse_parse_type(str_ok, RTE_ARGPARSE_ARG_VALUE_INT, &value);
+ TEST_ASSERT(ret == 0, "Argparse parse type expect failed!");
+ TEST_ASSERT(value == 123, "Argparse parse type expect failed!");
+
+ return 0;
+}
+
static struct unit_test_suite argparse_test_suite = {
.suite_name = "Argparse Unit Test Suite",
.setup = test_argparse_setup,
@@ -750,6 +771,7 @@ static struct unit_test_suite argparse_test_suite = {
TEST_CASE(test_argparse_opt_callback_parse_int_of_optional_val),
TEST_CASE(test_argparse_pos_autosave_parse_int),
TEST_CASE(test_argparse_pos_callback_parse_int),
+ TEST_CASE(test_argparse_parse_type),
TEST_CASES_END() /**< NULL terminate unit test array */
}