mirror of https://gerrit.osmocom.org/libosmocore
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:
parent
eb028fa1df
commit
d92be9ad13
|
@ -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);
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue