summaryrefslogtreecommitdiff
path: root/test/lib/completions/sftp.exp
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/completions/sftp.exp')
-rw-r--r--test/lib/completions/sftp.exp45
1 files changed, 16 insertions, 29 deletions
diff --git a/test/lib/completions/sftp.exp b/test/lib/completions/sftp.exp
index 24c37cb5..27fe7511 100644
--- a/test/lib/completions/sftp.exp
+++ b/test/lib/completions/sftp.exp
@@ -1,15 +1,19 @@
proc setup {} {
save_env
-}; # setup()
+ # NOTE: Changing dir to $SRCDIR is necessary because file locations in the
+ # ssh config files (e.g. UserKnownHostsFile) are relative to $SRCDIR.
+ assert_bash_exec {cd $SRCDIR/fixtures/sftp}
+}
proc teardown {} {
+ assert_bash_exec {cd $TESTDIR}
assert_env_unmodified {
/BASH_LINENO=/d
/BASH_SOURCE=/d
/OLDPWD=/d
}
-}; # teardown()
+}
setup
@@ -18,10 +22,9 @@ setup
# Build string list of expected completions
set expected [get_hosts]
# Hosts `gee' and `hus' are defined in ./fixtures/sftp/config
- # Hosts `doo' and `ike' are defined in ./fixtures/sftp/known_hosts
-lappend expected doo gee hus ike
-set dir fixtures/scp
-assert_complete_dir $expected "sftp -F config " $dir
+ # Hosts `10.10.10.10', `doo' and `ike' are defined in ./fixtures/sftp/known_hosts
+lappend expected 10.10.10.10 doo gee hus ike
+assert_complete $expected "sftp -F config "
sync_after_int
@@ -36,7 +39,7 @@ expect {
-re "^$cmd\r\n.*\r\n/@" { pass "$test" }
-re /@ { unresolved "$test at prompt" }
default { unresolved "$test" }
-}; # expect
+}
sync_after_int
@@ -45,33 +48,17 @@ sync_after_int
# Build string list of expected completions
# Get hostnames and give them a colon (:) suffix
set expected [get_hosts]
- # Hosts `gee', `hus' and `jar' are defined in "./fixtures/scp/spaced conf"
- # Hosts `doo' and `ike' are defined in ./fixtures/scp/known_hosts
-lappend expected doo gee hus ike jar
-set dir fixtures/sftp
-assert_complete_dir $expected "sftp -F spaced\\ \\ conf " $dir
+ # Hosts `gee', `hus' and `jar' are defined in "./fixtures/sftp/spaced conf"
+ # Hosts `10.10.10.10', `doo' and `ike' are defined in ./fixtures/sftp/known_hosts
+lappend expected 10.10.10.10 doo gee hus ike jar
+assert_complete $expected "sftp -F spaced\\ \\ conf "
sync_after_int
-set test "-F should complete filename"
-set dir fixtures/sftp
-set prompt "/$dir/@"
-assert_bash_exec "cd $dir" "" $prompt
-set cmd "ssh -Fsp"
-send "$cmd\t"
-expect -ex "$cmd"
-expect {
- -ex "aced\\ \\ conf" { pass "$test" }
- # _filedir works only if `-o filenames' is in effect, which isn't the
- # case for `sftp'
- -re "aced conf" { xfail "$test" }
- -re $prompt { unresolved "$test at prompt" }
- default { unresolved "$test" }
-}; # expect
-sync_after_int $prompt
-assert_bash_exec {cd "$TESTDIR"}
+assert_complete "-Fspaced\\ \\ conf" "sftp -Fsp" "-F should complete filename"
+sync_after_int
teardown