From d92be9ad13322268ec46073f4d271c4b34687dd7 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 30 Jul 2020 14:55:49 +0200 Subject: [PATCH] tests: vty: Extend test to do some numeric range validations As per current status, the numeric tests are expected to fail due to a couple bugs which will be fixed in next commits. Change-Id: Id5b17bd96d7af4ed9a77ebbea0e6be4b0fcbde6c --- tests/vty/vty_test.c | 33 +++++++++++++++++++++++++++++++++ tests/vty/vty_test.ok | 7 +++++++ 2 files changed, 40 insertions(+) diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c index 9627b6d2a..7146a1db6 100644 --- a/tests/vty/vty_test.c +++ b/tests/vty/vty_test.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -438,6 +439,19 @@ DEFUN(cfg_ret_warning, cfg_ret_warning_cmd, return CMD_WARNING; } +DEFUN(cfg_numeric_range, cfg_numeric_range_cmd, +#if ULONG_MAX == 18446744073709551615UL + "numeric-range <0-18446744073709551615>", +#else + "numeric-range <0-4294967295>", +#endif + "testing numeric range\n" + "the numeric range\n") +{ + printf("Called: 'return-success'\n"); + return CMD_SUCCESS; +} + void test_vty_add_cmds() { install_element(CONFIG_NODE, &cfg_ret_warning_cmd); @@ -461,6 +475,8 @@ void test_vty_add_cmds() install_element_ve(&cfg_ambiguous_nr_2_cmd); install_element_ve(&cfg_ambiguous_str_1_cmd); install_element_ve(&cfg_ambiguous_str_2_cmd); + + install_element_ve(&cfg_numeric_range_cmd); } void test_is_cmd_ambiguous() @@ -482,6 +498,21 @@ void test_is_cmd_ambiguous() destroy_test_vty(&test, vty); } +void test_numeric_range() +{ + struct vty *vty; + struct vty_test test; + + printf("Going to test test_numeric_range()\n"); + vty = create_test_vty(&test); + + OSMO_ASSERT(do_vty_command(vty, "numeric-range 0") == CMD_ERR_NO_MATCH); + OSMO_ASSERT(do_vty_command(vty, "numeric-range 40000") == CMD_ERR_NO_MATCH); + OSMO_ASSERT(do_vty_command(vty, "numeric-range -400000") == CMD_ERR_NO_MATCH); + + destroy_test_vty(&test, vty); +} + int main(int argc, char **argv) { struct vty_app_info vty_info = { @@ -535,6 +566,8 @@ int main(int argc, char **argv) test_is_cmd_ambiguous(); + test_numeric_range(); + /* Leak check */ OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1); diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok index d2c96111e..d81c6c727 100644 --- a/tests/vty/vty_test.ok +++ b/tests/vty/vty_test.ok @@ -311,4 +311,11 @@ Returned: 0, Current node: 1 '%s> ' Going to execute 'ambiguous_str arg keyword' Called: 'ambiguous_str ARG keyword' Returned: 0, Current node: 1 '%s> ' +Going to test test_numeric_range() +Going to execute 'numeric-range 0' +Returned: 2, Current node: 1 '%s> ' +Going to execute 'numeric-range 40000' +Returned: 2, Current node: 1 '%s> ' +Going to execute 'numeric-range -400000' +Returned: 2, Current node: 1 '%s> ' All tests passed