Fixed tests when BASH_COMPLETION or TESTDIR contain spaces.

This commit is contained in:
Crestez Dan Leonard 2010-02-02 11:16:29 +02:00
parent 61f83856fb
commit c3bb4416d7
8 changed files with 19 additions and 18 deletions

View File

@ -68,6 +68,7 @@ bash-completion (2.x)
* Improve ssh -o suboption completion (Alioth: #312122).
* Fix NFS mounts completion (Alioth: #312285).
* Fix completion of usernames (Alioth: #311396, Debian: #511788).
* Fixed tests when BASH_COMPLETION or TESTDIR contain spaces.
[ Raphaël Droz ]
* Add xsltproc completion (Alioth: #311843).

View File

@ -1674,7 +1674,7 @@ _filedir_xspec()
# get first exclusion compspec that matches this command
xspec=$( awk "/^complete[ \t]+.*[ \t]${1##*/}([ \t]|\$)/ { print \$0; exit }" \
$BASH_COMPLETION )
"$BASH_COMPLETION" )
# prune to leave nothing but the -X spec
xspec=${xspec#*-X }
xspec=${xspec%% *}
@ -1701,7 +1701,7 @@ _filedir_xspec()
COMPREPLY=( "${toks[@]}" )
}
list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' $BASH_COMPLETION | \
list=( $( sed -ne '/^# START exclude/,/^# FINISH exclude/p' "$BASH_COMPLETION" | \
# read exclusion compspecs
(
while read line
@ -1727,19 +1727,19 @@ unset list
# source completion directory definitions
if [[ -d $BASH_COMPLETION_COMPAT_DIR && -r $BASH_COMPLETION_COMPAT_DIR && \
-x $BASH_COMPLETION_COMPAT_DIR ]]; then
for i in $(LC_ALL=C command ls $BASH_COMPLETION_COMPAT_DIR); do
for i in $(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR"); do
i=$BASH_COMPLETION_COMPAT_DIR/$i
[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \
&& ( -f $i || -h $i ) && -r $i ]] && . $i
&& ( -f $i || -h $i ) && -r $i ]] && . "$i"
done
fi
if [[ $BASH_COMPLETION_DIR != $BASH_COMPLETION_COMPAT_DIR && \
-d $BASH_COMPLETION_DIR && -r $BASH_COMPLETION_DIR && \
-x $BASH_COMPLETION_DIR ]]; then
for i in $(LC_ALL=C command ls $BASH_COMPLETION_DIR); do
for i in $(LC_ALL=C command ls "$BASH_COMPLETION_DIR"); do
i=$BASH_COMPLETION_DIR/$i
[[ ${i##*/} != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) \
&& ( -f $i || -h $i ) && -r $i ]] && . $i
&& ( -f $i || -h $i ) && -r $i ]] && . "$i"
done
fi
unset i

View File

@ -112,7 +112,7 @@ if {[match_items [lsort -unique $expected] $test]} {
if {[lindex $::BASH_VERSINFO 0] >= 4} {xfail "$test"} {fail "$test"}
}; # if
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
sync_after_int

View File

@ -42,7 +42,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}

View File

@ -71,7 +71,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
teardown

View File

@ -29,7 +29,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
sync_after_int
@ -97,7 +97,7 @@ expect {
default { unresolved "$test" }
}; # expect
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
sync_after_int

View File

@ -98,7 +98,7 @@ proc assert_bash_list_dir {expected cmd dir {test ""} {prompt /@} {size 20}} {
assert_bash_exec "cd $dir" "" $prompt
assert_bash_list $expected $cmd $test $prompt $size
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
}; # assert_bash_list_dir()
@ -268,7 +268,7 @@ proc assert_complete_dir {expected cmd dir {test ""} {size 20} {cword ""}} {
assert_bash_exec "cd $dir" "" $prompt
assert_complete $expected $cmd $test $prompt $size $cword
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
}; # assert_complete_dir
@ -631,16 +631,16 @@ proc save_env {{file ""}} {
# @param string File to save the environment to. Default is "$TESTDIR/tmp/env1~".
# @see assert_env_unmodified()
proc _save_env {{file ""}} {
assert_bash_exec "{ set; declare -F; shopt -p; } > $file"
assert_bash_exec "{ set; declare -F; shopt -p; } > \"$file\""
}; # _save_env()
# Source bash_completion package
proc source_bash_completion {} {
assert_bash_exec {BASH_COMPLETION_DIR=$(cd $TESTDIR/..; pwd)/contrib}
assert_bash_exec {BASH_COMPLETION_DIR=$(cd "$TESTDIR/.."; pwd)/contrib}
assert_bash_exec {BASH_COMPLETION_COMPAT_DIR=$BASH_COMPLETION_DIR}
assert_bash_exec {BASH_COMPLETION=$(cd $TESTDIR/..; pwd)/bash_completion}
assert_bash_exec {source $BASH_COMPLETION}
assert_bash_exec {BASH_COMPLETION=$(cd "$TESTDIR/.."; pwd)/bash_completion}
assert_bash_exec {source "$BASH_COMPLETION"}
}; # source_bash_completion()

View File

@ -41,7 +41,7 @@ expect {
-re eof { unresolved "eof" }
}; # expect
sync_after_int $prompt
assert_bash_exec "cd \$TESTDIR"
assert_bash_exec {cd "$TESTDIR"}
#assert_bash_list_dir {a\\\'b/c} $cmd fixtures/compgen