diff --git a/test/_completion_to_review/add_members.exp b/test/_completion_to_review/add_members.exp deleted file mode 100644 index 756d6994..00000000 --- a/test/_completion_to_review/add_members.exp +++ /dev/null @@ -1 +0,0 @@ -source "lib/completions/add_members.exp" diff --git a/test/_completion_to_review/arch.exp b/test/_completion_to_review/arch.exp deleted file mode 100644 index 000153a9..00000000 --- a/test/_completion_to_review/arch.exp +++ /dev/null @@ -1 +0,0 @@ -source "lib/completions/arch.exp" diff --git a/test/_completion_to_review/arpspoof.exp b/test/_completion_to_review/arpspoof.exp deleted file mode 100644 index 8da3ef79..00000000 --- a/test/_completion_to_review/arpspoof.exp +++ /dev/null @@ -1 +0,0 @@ -source "lib/completions/arpspoof.exp" diff --git a/test/_completion_to_review/a2ps.exp b/test/completion/a2ps.exp similarity index 100% rename from test/_completion_to_review/a2ps.exp rename to test/completion/a2ps.exp diff --git a/test/_completion_to_review/acroread.exp b/test/completion/acroread.exp similarity index 100% rename from test/_completion_to_review/acroread.exp rename to test/completion/acroread.exp diff --git a/test/completion/add_members.exp b/test/completion/add_members.exp new file mode 100644 index 00000000..7245e91f --- /dev/null +++ b/test/completion/add_members.exp @@ -0,0 +1,3 @@ +if {[assert_bash_type {add_members}]} { + source "lib/completions/add_members.exp" +}; # if diff --git a/test/_completion_to_review/animate.exp b/test/completion/animate.exp similarity index 100% rename from test/_completion_to_review/animate.exp rename to test/completion/animate.exp diff --git a/test/_completion_to_review/ant.exp b/test/completion/ant.exp similarity index 100% rename from test/_completion_to_review/ant.exp rename to test/completion/ant.exp diff --git a/test/_completion_to_review/apt-build.exp b/test/completion/apt-build.exp similarity index 100% rename from test/_completion_to_review/apt-build.exp rename to test/completion/apt-build.exp diff --git a/test/_completion_to_review/apt-cache.exp b/test/completion/apt-cache.exp similarity index 100% rename from test/_completion_to_review/apt-cache.exp rename to test/completion/apt-cache.exp diff --git a/test/_completion_to_review/apt-get.exp b/test/completion/apt-get.exp similarity index 100% rename from test/_completion_to_review/apt-get.exp rename to test/completion/apt-get.exp diff --git a/test/_completion_to_review/aptitude.exp b/test/completion/aptitude.exp similarity index 100% rename from test/_completion_to_review/aptitude.exp rename to test/completion/aptitude.exp diff --git a/test/completion/arch.exp b/test/completion/arch.exp new file mode 100644 index 00000000..5b0d9062 --- /dev/null +++ b/test/completion/arch.exp @@ -0,0 +1,3 @@ +if {[assert_bash_type {arch}]} { + source "lib/completions/arch.exp" +}; # if diff --git a/test/completion/arpspoof.exp b/test/completion/arpspoof.exp new file mode 100644 index 00000000..a4c1a3ef --- /dev/null +++ b/test/completion/arpspoof.exp @@ -0,0 +1,3 @@ +if {[assert_bash_type {arpspoof}]} { + source "lib/completions/arpspoof.exp" +}; # if diff --git a/test/_completion_to_review/aspell.exp b/test/completion/aspell.exp similarity index 100% rename from test/_completion_to_review/aspell.exp rename to test/completion/aspell.exp diff --git a/test/_completion_to_review/autoconf.exp b/test/completion/autoconf.exp similarity index 100% rename from test/_completion_to_review/autoconf.exp rename to test/completion/autoconf.exp diff --git a/test/_completion_to_review/automake.exp b/test/completion/automake.exp similarity index 100% rename from test/_completion_to_review/automake.exp rename to test/completion/automake.exp diff --git a/test/_completion_to_review/awk.exp b/test/completion/awk.exp similarity index 100% rename from test/_completion_to_review/awk.exp rename to test/completion/awk.exp diff --git a/test/config/default.exp b/test/config/default.exp index 2644dbdb..f5620829 100644 --- a/test/config/default.exp +++ b/test/config/default.exp @@ -1,5 +1,8 @@ # Set default expect fallback routines expect_after { + if {![info exists test]} { + set test [info level 1] + }; # if eof { fail "$test at eof" } timeout { fail "$test at timeout" } }; # expect_after() diff --git a/test/lib/completions/a2ps.exp b/test/lib/completions/a2ps.exp new file mode 100644 index 00000000..796e14cc --- /dev/null +++ b/test/lib/completions/a2ps.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "a2ps " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/acroread.exp b/test/lib/completions/acroread.exp new file mode 100644 index 00000000..faf28b00 --- /dev/null +++ b/test/lib/completions/acroread.exp @@ -0,0 +1,20 @@ +proc setup {} { + assert_bash_exec "touch fixture1/t.pdf"; # Create temporary files +}; # setup() + + +proc teardown {} { + assert_bash_exec "rm fixture1/t.pdf"; # Remove temporary files +}; # teardown() + + +setup + + +assert_complete {"bar bar.d/" foo.d/ t.pdf} "acroread fixture1/" + + +sync_after_int + + +teardown diff --git a/test/lib/completions/add_members.exp b/test/lib/completions/add_members.exp new file mode 100644 index 00000000..02cd762d --- /dev/null +++ b/test/lib/completions/add_members.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "add_members -" + + +sync_after_int + + +teardown diff --git a/test/lib/completions/animate.exp b/test/lib/completions/animate.exp new file mode 100644 index 00000000..26065d25 --- /dev/null +++ b/test/lib/completions/animate.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "animate " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/ant.exp b/test/lib/completions/ant.exp new file mode 100644 index 00000000..d79abfd6 --- /dev/null +++ b/test/lib/completions/ant.exp @@ -0,0 +1,28 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +if {[assert_bash_type ant]} { + + + setup + + + assert_complete_any "ant -" + + + sync_after_int + + + teardown + + +}; # if + + diff --git a/test/lib/completions/apt-build.exp b/test/lib/completions/apt-build.exp new file mode 100644 index 00000000..fd09d0eb --- /dev/null +++ b/test/lib/completions/apt-build.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "apt-build " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/apt-cache.exp b/test/lib/completions/apt-cache.exp new file mode 100644 index 00000000..5336beab --- /dev/null +++ b/test/lib/completions/apt-cache.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "apt-cache " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/apt-get.exp b/test/lib/completions/apt-get.exp new file mode 100644 index 00000000..6bd0f3a2 --- /dev/null +++ b/test/lib/completions/apt-get.exp @@ -0,0 +1,22 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +set commands {autoclean autoremove build-dep check clean dist-upgrade + dselect-upgrade install purge remove source update upgrade} +assert_complete $commands "apt-get " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/aptitude.exp b/test/lib/completions/aptitude.exp new file mode 100644 index 00000000..dde6d26e --- /dev/null +++ b/test/lib/completions/aptitude.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "aptitude " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/arch.exp b/test/lib/completions/arch.exp new file mode 100644 index 00000000..9f7114c4 --- /dev/null +++ b/test/lib/completions/arch.exp @@ -0,0 +1,21 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +set options {--wipe -s --start= -e --end= -q --quiet -h --help} +assert_complete $options "arch -" + + +sync_after_int + + +teardown diff --git a/test/lib/completions/arpspoof.exp b/test/lib/completions/arpspoof.exp new file mode 100644 index 00000000..7db79f50 --- /dev/null +++ b/test/lib/completions/arpspoof.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "arpspoof -" + + +sync_after_int + + +teardown diff --git a/test/lib/completions/aspell.exp b/test/lib/completions/aspell.exp new file mode 100644 index 00000000..4edeb03b --- /dev/null +++ b/test/lib/completions/aspell.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "aspell " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/autoconf.exp b/test/lib/completions/autoconf.exp new file mode 100644 index 00000000..4a44b651 --- /dev/null +++ b/test/lib/completions/autoconf.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "autoconf " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/automake.exp b/test/lib/completions/automake.exp new file mode 100644 index 00000000..cf27364a --- /dev/null +++ b/test/lib/completions/automake.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "automake " + + +sync_after_int + + +teardown diff --git a/test/lib/completions/awk.exp b/test/lib/completions/awk.exp new file mode 100644 index 00000000..4288adbf --- /dev/null +++ b/test/lib/completions/awk.exp @@ -0,0 +1,20 @@ +proc setup {} { + save_env +}; # setup() + + +proc teardown {} { + assert_env_unmodified +}; # teardown() + + +setup + + +assert_complete_any "awk " + + +sync_after_int + + +teardown diff --git a/test/lib/completions_to_review/a2ps.exp b/test/lib/completions_to_review/a2ps.exp deleted file mode 100644 index 42010c44..00000000 --- a/test/lib/completions_to_review/a2ps.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "a2ps " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/acroread.exp b/test/lib/completions_to_review/acroread.exp deleted file mode 100644 index 4c416aa4..00000000 --- a/test/lib/completions_to_review/acroread.exp +++ /dev/null @@ -1,35 +0,0 @@ -proc setup {} { - set test setup - set cmd "touch fixture1/t.pdf"; # Create temporary files - send "$cmd\r" - expect -ex "$cmd\r\n/@" -}; # setup() - - -proc teardown {} { - set test teardown - set cmd "rm fixture1/t.pdf"; # Remove temporary files - send "$cmd\r" - expect -ex "$cmd\r\n/@" -}; # teardown() - - -setup - - -set test "Tab should complete acroread" - # Try completion -set cmd "acroread fixture1/" -send "$cmd\t" -expect { - -re "^${cmd}\r\n(\.svn/ +|)bar bar.d/ +foo.d/ +(\.svn/ +|)t.pdf *\r\n/@$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - default { unresolved "$test" } -}; # expect - - -sleep .5 -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/add_members.exp b/test/lib/completions_to_review/add_members.exp deleted file mode 100644 index 205f8b0c..00000000 --- a/test/lib/completions_to_review/add_members.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "add_members -" -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/animate.exp b/test/lib/completions_to_review/animate.exp deleted file mode 100644 index 63940ca9..00000000 --- a/test/lib/completions_to_review/animate.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "animate " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/ant.exp b/test/lib/completions_to_review/ant.exp deleted file mode 100644 index 6e2b3a21..00000000 --- a/test/lib/completions_to_review/ant.exp +++ /dev/null @@ -1,34 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -if {[assert_bash_type ant]} { - - - setup - - - set test "Tab should complete" - # Try completion - set cmd "ant -" - send "$cmd\t" - expect { - -re "^$cmd\r\n.*\r\n/@$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } - }; # expect - - - sync_after_int - - - teardown - - -}; # if - - diff --git a/test/lib/completions_to_review/apt-build.exp b/test/lib/completions_to_review/apt-build.exp deleted file mode 100644 index 829ae0a2..00000000 --- a/test/lib/completions_to_review/apt-build.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "apt-build " -send "$cmd\t" -expect { - -re "$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/apt-cache.exp b/test/lib/completions_to_review/apt-cache.exp deleted file mode 100644 index 2021edc0..00000000 --- a/test/lib/completions_to_review/apt-cache.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "apt-cache " -send "$cmd\t" -expect { - -re "$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/apt-get.exp b/test/lib/completions_to_review/apt-get.exp deleted file mode 100644 index 0ecc3200..00000000 --- a/test/lib/completions_to_review/apt-get.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "apt-get " -send "$cmd\t" -expect { - -re "$cmd\r\nautoclean\\s+autoremove\\s+build-dep\\s+check\\s+clean\\s+dist-upgrade\\s+dselect-upgrade\\s+install/\r\npurge\\s+remove\\s+source\\s+update\\s+upgrade\\s*\r\n/@$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/aptitude.exp b/test/lib/completions_to_review/aptitude.exp deleted file mode 100644 index 9f2f268f..00000000 --- a/test/lib/completions_to_review/aptitude.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "aptitude " -send "$cmd\t" -expect { - -re "$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/arch.exp b/test/lib/completions_to_review/arch.exp deleted file mode 100644 index d82fd264..00000000 --- a/test/lib/completions_to_review/arch.exp +++ /dev/null @@ -1,31 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "arch -" -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -# Interrupt command - -set test "Sync after INT" -sleep 0.01 -send \031\003; # Control-c -expect -ex /@ - - -teardown diff --git a/test/lib/completions_to_review/arpspoof.exp b/test/lib/completions_to_review/arpspoof.exp deleted file mode 100644 index 20d372ce..00000000 --- a/test/lib/completions_to_review/arpspoof.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "arpspoof -" -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/aspell.exp b/test/lib/completions_to_review/aspell.exp deleted file mode 100644 index 85f5d7f5..00000000 --- a/test/lib/completions_to_review/aspell.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "aspell " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/autoconf.exp b/test/lib/completions_to_review/autoconf.exp deleted file mode 100644 index fd0d8183..00000000 --- a/test/lib/completions_to_review/autoconf.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "autoconf " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/completions_to_review/automake.exp b/test/lib/completions_to_review/automake.exp deleted file mode 100644 index fa8b805d..00000000 --- a/test/lib/completions_to_review/automake.exp +++ /dev/null @@ -1,31 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "automake " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -# Interrupt command - -set test "Sync after INT" -sleep .1 -send \031\003; # QUIT/INT -expect -ex /@ - - -teardown diff --git a/test/lib/completions_to_review/awk.exp b/test/lib/completions_to_review/awk.exp deleted file mode 100644 index 98f25a9f..00000000 --- a/test/lib/completions_to_review/awk.exp +++ /dev/null @@ -1,26 +0,0 @@ -proc setup {} { -}; # setup() - - -proc teardown {} { -}; # teardown() - - -setup - - -set test "Tab should complete" - # Try completion -set cmd "awk " -send "$cmd\t" -expect { - -re "^$cmd\r\n.*$cmd$" { pass "$test" } - -re /@ { unresolved "$test at prompt" } - -re eof { unresolved "eof" } -}; # expect - - -sync_after_int - - -teardown diff --git a/test/lib/library.exp b/test/lib/library.exp index 2f78b8cb..77646285 100644 --- a/test/lib/library.exp +++ b/test/lib/library.exp @@ -43,6 +43,18 @@ proc assert_bash_type {command} { }; # assert_bash_type() +# Make sure any completions are returned +proc assert_complete_any {cmd {test ""} {prompt /@}} { + if {$test == ""} {set test "$cmd should show completions"} + send "$cmd\t" + expect { + -re "^$cmd\r\n.*$prompt$cmd$" { pass "$test" } + -re /@ { unresolved "$test at prompt" } + -re eof { unresolved "eof" } + }; # expect +}; # assert_complete_any() + + # Make sure the expected items are also returned by TAB-completing the # specified command. # Break items into chunks because `expect' seems to have a limited buffer size