diff options
Diffstat (limited to 'tools/lint/tests/expect/completion.exp')
-rwxr-xr-x | tools/lint/tests/expect/completion.exp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/tools/lint/tests/expect/completion.exp b/tools/lint/tests/expect/completion.exp new file mode 100755 index 0000000..ed4f6bd --- /dev/null +++ b/tools/lint/tests/expect/completion.exp @@ -0,0 +1,60 @@ +#!/usr/bin/expect -f + +if { [info exists ::env(CURRENT_SOURCE_DIR)] } { + source "$env(CURRENT_SOURCE_DIR)/tests/expect/common.exp" + set yang_dir "$env(CURRENT_SOURCE_DIR)/examples" +} else { + source "common.exp" + set yang_dir "../../examples" +} + +spawn $yanglint + +# skip no dir and/or no history warnings +expect_output "(YANGLINT.*)*> " + +expect_command "clear -ii" 0 "" + +expect_command "add ${yang_dir}/ietf-ip.yang" 0 "" + +expect_completion "print -f info -P " "print -f info -P /ietf-" + +set hints {"/ietf-yang-schema-mount:schema-mounts" "/ietf-interfaces:interfaces" "/ietf-interfaces:interfaces-state"} + +expect_hint "" "print -f info -P /ietf-" $hints + +expect_completion "i" "print -f info -P /ietf-interfaces:interfaces" + +expect_completion "/" "print -f info -P /ietf-interfaces:interfaces/interface" + +set hints {"/ietf-interfaces:interfaces/interface" +"/ietf-interfaces:interfaces/interface/name" "/ietf-interfaces:interfaces/interface/description" +"/ietf-interfaces:interfaces/interface/type" "/ietf-interfaces:interfaces/interface/enabled" +"/ietf-interfaces:interfaces/interface/link-up-down-trap-enable" +"/ietf-interfaces:interfaces/interface/ietf-ip:ipv4" "/ietf-interfaces:interfaces/interface/ietf-ip:ipv6"} + +expect_hint "" "print -f info -P /ietf-interfaces:interfaces/interface" $hints + +expect_completion "/i" "print -f info -P /ietf-interfaces:interfaces/interface/ietf-ip:ipv" + +expect_completion "4" "print -f info -P /ietf-interfaces:interfaces/interface/ietf-ip:ipv4" + +set hints { "/ietf-interfaces:interfaces/interface/ietf-ip:ipv4" "/ietf-interfaces:interfaces/interface/ietf-ip:ipv4/enabled" +"/ietf-interfaces:interfaces/interface/ietf-ip:ipv4/forwarding" "/ietf-interfaces:interfaces/interface/ietf-ip:ipv4/mtu" +"/ietf-interfaces:interfaces/interface/ietf-ip:ipv4/address" "/ietf-interfaces:interfaces/interface/ietf-ip:ipv4/neighbor" +} + +expect_hint "\t" "print -f info -P /ietf-interfaces:interfaces/interface/ietf-ip:ipv" $hints + +expect_completion "/e" "print -f info -P /ietf-interfaces:interfaces/interface/ietf-ip:ipv4/enabled " + +send -- "\r" + +expect { + -re ".*\r\n> " {} + timeout {exit 1} +} + +send -- "exit\r" + +expect eof |