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
This commit is contained in:
Pau Espin 2020-07-30 14:55:49 +02:00 committed by pespin
parent eb028fa1df
commit d92be9ad13
2 changed files with 40 additions and 0 deletions

View File

@ -22,6 +22,7 @@
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/socket.h>
@ -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);

View File

@ -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