Going to test vty_cmd_string_from_valstr() Tested with %s-strings, resulting cmd = '[prefix%s%s%s%s%s][foo%s%s%s%s%s][sep%s%s%s%s%s][bar%s%s%s%s%s][end%s%s%s%s%s]' Going to test VTY node tree structure Going to execute 'enable' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'exit' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'end' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'log stderr' Returned: 0, Current node: 7 '%s(config-log)# ' Going to execute 'exit' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'log stderr' Returned: 0, Current node: 7 '%s(config-log)# ' Going to execute 'end' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'line vty' Returned: 0, Current node: 9 '%s(config-line)# ' Going to execute 'exit' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'line vty' Returned: 0, Current node: 9 '%s(config-line)# ' Going to execute 'end' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'log stderr' Returned: 0, Current node: 7 '%s(config-log)# ' Going to execute 'line vty' Returned: 2, Current node: 7 '%s(config-log)# ' Going to execute 'end' Returned: 0, Current node: 3 '%s# ' Going to execute 'exit' Returned: 0, Current node: 3 '%s# ' Going to test VTY configuration of the stats subsystem Going to execute 'enable' Returned: 0, Current node: 3 '%s# ' Going to execute 'configure terminal' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'stats reporter foobar' Returned: 2, Current node: 4 '%s(config)# ' Going to execute 'stats interval 42' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'stats reporter log' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'prefix myprefix' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'no prefix' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level peer' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level subscriber' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level global' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level foobar' Returned: 2, Current node: 8 '%s(config-stats)# ' Going to execute 'enable' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'disable' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'exit' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'stats reporter statsd' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'prefix myprefix' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'no prefix' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level peer' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level subscriber' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level global' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'level foobar' Returned: 2, Current node: 8 '%s(config-stats)# ' Going to execute 'remote-ip 127.0.0.99' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'remote-ip 678.0.0.99' Returned: 1, Current node: 8 '%s(config-stats)# ' Going to execute 'remote-port 12321' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'local-ip 127.0.0.98' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'no local-ip' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'mtu 987' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'no mtu' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'enable' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'disable' Returned: 0, Current node: 8 '%s(config-stats)# ' Going to execute 'exit' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'no stats reporter log' Returned: 0, Current node: 4 '%s(config)# ' Going to execute 'no stats reporter statsd' Returned: 0, Current node: 4 '%s(config)# ' reading file ok.cfg, expecting rc=0 called level1 node a called level1 child cmd a called level2 node a called level2 child cmd a called level3 node a called level3 child cmd a called level1 node b called level1 child cmd b called level2 node b called level2 child cmd b called level1 node c called level1 child cmd c called level2 node c called level2 child cmd c called level3 node c called level3 child cmd c called level2 node d called level2 child cmd d called level1 node e called level1 child cmd e called level2 node e called level2 child cmd e called level2 node f called level2 child cmd f called level1 node g called level1 child cmd g called level1 node h called level1 child cmd h got rc=0 reading file ok_more_spaces.cfg, expecting rc=0 called level1 node a called level1 child cmd a called level2 node a called level2 child cmd a called level3 node a called level3 child cmd a called level1 node b called level1 child cmd b called level2 node b called level2 child cmd b called level1 node c called level1 child cmd c called level2 node c called level2 child cmd c called level3 node c called level3 child cmd c called level2 node d called level2 child cmd d called level1 node e called level1 child cmd e called level2 node e called level2 child cmd e called level2 node f called level2 child cmd f called level1 node g called level1 child cmd g called level1 node h called level1 child cmd h got rc=0 reading file ok_tabs.cfg, expecting rc=0 called level1 node a called level1 child cmd a called level2 node a called level2 child cmd a called level3 node a called level3 child cmd a called level1 node b called level1 child cmd b called level2 node b called level2 child cmd b called level1 node c called level1 child cmd c called level2 node c called level2 child cmd c called level3 node c called level3 child cmd c called level2 node d called level2 child cmd d called level1 node e called level1 child cmd e called level2 node e called level2 child cmd e called level2 node f called level2 child cmd f called level1 node g called level1 child cmd g called level1 node h called level1 child cmd h got rc=0 reading file ok_tabs_and_spaces.cfg, expecting rc=0 called level1 node a called level1 child cmd a called level2 node a called level2 child cmd a called level3 node a called level3 child cmd a called level1 node b called level1 child cmd b called level2 node b called level2 child cmd b called level1 node c called level1 child cmd c called level2 node c called level2 child cmd c called level3 node c called level3 child cmd c called level2 node d called level2 child cmd d called level1 node e called level1 child cmd e called level2 node e called level2 child cmd e called level2 node f called level2 child cmd f called level1 node g called level1 child cmd g called level1 node h called level1 child cmd h got rc=0 reading file ok_ignore_comment.cfg, expecting rc=0 called level1 node called level1 child cmd called level2 node called level2 child cmd called level1 node got rc=0 reading file ok_ignore_blank.cfg, expecting rc=0 called level1 node called level2 node called level2 child cmd called level3 node called level3 child cmd called level1 node got rc=0 reading file fail_not_de-indented.cfg, expecting rc=-22 called level1 node a called level1 child cmd a got rc=-22 reading file fail_too_much_indent.cfg, expecting rc=-22 called level1 node a called level1 child cmd a got rc=-22 reading file fail_tabs_and_spaces.cfg, expecting rc=-22 called level1 node a called level1 child cmd a got rc=-22 reading file ok_indented_root.cfg, expecting rc=0 called level1 node a called level1 child cmd called level2 node called level2 child cmd called level1 node b got rc=0 reading file ok_empty_parent.cfg, expecting rc=0 called level1 node a called level2 node a called level3 node a called level1 node b called level2 node b called level1 node c called level1 node d called level2 node e called level2 node f called level3 node f called level3 node g called level2 node g called level2 node h called level1 node h called level1 node i called level1 node j called level2 node j called level1 child cmd j called level1 node k 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 reading file ok_deprecated_logging.cfg, expecting rc=0 got rc=0 Going to test is_cmd_ambiguous() Going to execute 'ambiguous_nr' Called: 'ambiguous_nr [<0-23>]' (argc=0) Returned: 0, Current node: 1 '%s> ' Going to execute 'ambiguous_nr 23' Called: 'ambiguous_nr [<0-23>]' (argc=1) Returned: 0, Current node: 1 '%s> ' Going to execute 'ambiguous_nr 23 keyword' Called: 'ambiguous_nr <0-23> keyword' Returned: 0, Current node: 1 '%s> ' Going to execute 'ambiguous_str' Called: 'ambiguous_str [ARG]' (argc=0) Returned: 0, Current node: 1 '%s> ' Going to execute 'ambiguous_str arg' Called: 'ambiguous_str [ARG]' (argc=1) 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' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'numeric-range 40000' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'numeric-range -400000' Returned: 2, Current node: 1 '%s> ' Going to test test_ranges() test range-base10 Going to execute 'range-base10 0' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-base10 40000' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-base10 -400000' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base10 0x0' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base10 0x343' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base10 -0x343' Returned: 2, Current node: 1 '%s> ' test range-base16 Going to execute 'range-base16 0' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base16 40000' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base16 -400000' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-base16 0x0' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-base16 0x343' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-base16 -0x343' Returned: 2, Current node: 1 '%s> ' test range-baseboth Going to execute 'range-baseboth 0' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-baseboth 40000' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-baseboth -400000' Returned: 2, Current node: 1 '%s> ' Going to execute 'range-baseboth 0x0' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-baseboth 0x343' Called: 'return-success' Returned: 0, Current node: 1 '%s> ' Going to execute 'range-baseboth -0x343' Returned: 2, Current node: 1 '%s> ' All tests passed