diff options
| -rw-r--r-- | src/vty/command.c | 3 | ||||
| -rw-r--r-- | tests/Makefile.am | 1 | ||||
| -rw-r--r-- | tests/vty/fail_cmd_ret_warning.cfg | 3 | ||||
| -rw-r--r-- | tests/vty/vty_test.c | 20 | ||||
| -rw-r--r-- | tests/vty/vty_test.ok | 4 | 
5 files changed, 29 insertions, 2 deletions
| diff --git a/src/vty/command.c b/src/vty/command.c index a36f30a3..6a9d18af 100644 --- a/src/vty/command.c +++ b/src/vty/command.c @@ -2631,8 +2631,7 @@ int config_from_file(struct vty *vty, FILE * fp)  		ret = cmd_execute_command_strict(vline, vty, NULL);  		cmd_free_strvec(vline); -		if (ret != CMD_SUCCESS && ret != CMD_WARNING -		    && ret != CMD_ERR_NOTHING_TODO) { +		if (ret != CMD_SUCCESS && ret != CMD_ERR_NOTHING_TODO) {  			if (indent) {  				talloc_free(indent);  				indent = NULL; diff --git a/tests/Makefile.am b/tests/Makefile.am index e0993b16..60213ed3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -293,6 +293,7 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE)		\  	     vty/fail_not_de-indented.cfg \  	     vty/fail_tabs_and_spaces.cfg \  	     vty/fail_too_much_indent.cfg \ +	     vty/fail_cmd_ret_warning.cfg \  	     vty/ok.cfg \  	     vty/ok_empty_parent.cfg \  	     vty/ok_ignore_blank.cfg \ diff --git a/tests/vty/fail_cmd_ret_warning.cfg b/tests/vty/fail_cmd_ret_warning.cfg new file mode 100644 index 00000000..b03f02ae --- /dev/null +++ b/tests/vty/fail_cmd_ret_warning.cfg @@ -0,0 +1,3 @@ +return-success +return-warning +return-success diff --git a/tests/vty/vty_test.c b/tests/vty/vty_test.c index 30efb9af..0d68a6c0 100644 --- a/tests/vty/vty_test.c +++ b/tests/vty/vty_test.c @@ -421,8 +421,27 @@ DEFUN(cfg_ambiguous_str_2, cfg_ambiguous_str_2_cmd,  	return CMD_SUCCESS;  } +DEFUN(cfg_ret_success, cfg_ret_success_cmd, +	"return-success", +	"testing return success\n") +{ +	printf("Called: 'return-success'\n"); +	return CMD_SUCCESS; +} + +DEFUN(cfg_ret_warning, cfg_ret_warning_cmd, +	"return-warning", +	"testing return warning\n") +{ +	printf("Called: 'return-warning'\n"); +	return CMD_WARNING; +} +  void test_vty_add_cmds()  { +	install_element(CONFIG_NODE, &cfg_ret_warning_cmd); +	install_element(CONFIG_NODE, &cfg_ret_success_cmd); +  	install_element(CONFIG_NODE, &cfg_level1_cmd);  	install_node(&level1_node, NULL);  	install_element(LEVEL1_NODE, &cfg_level1_child_cmd); @@ -524,6 +543,7 @@ int main(int argc, char **argv)  	test_exit_by_indent("fail_tabs_and_spaces.cfg", -EINVAL);  	test_exit_by_indent("ok_indented_root.cfg", 0);  	test_exit_by_indent("ok_empty_parent.cfg", 0); +	test_exit_by_indent("fail_cmd_ret_warning.cfg", -EINVAL);  	test_is_cmd_ambiguous(); diff --git a/tests/vty/vty_test.ok b/tests/vty/vty_test.ok index 2f76ff91..0b5ac9c0 100644 --- a/tests/vty/vty_test.ok +++ b/tests/vty/vty_test.ok @@ -286,6 +286,10 @@ called level2 node k  called level3 node k  called level1 child cmd k  got rc=0 +reading file fail_cmd_ret_warning.cfg, expecting rc=-22 +Called: 'return-success' +Called: 'return-warning' +got rc=-22  Going to test is_cmd_ambiguous()  Going to execute 'ambiguous_nr'  Called: 'ambiguous_nr [<0-23>]' (argc=0) | 
