testsuite: allow tests to work in paths containing spaces
Tweak some tests so they work when the path to the test directory or
$HOME contains spaces.
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/testsuite/grep.tests b/testsuite/grep.tests
index d0b0d27..e578897 100755
--- a/testsuite/grep.tests
+++ b/testsuite/grep.tests
@@ -15,7 +15,7 @@
testing "grep (exit with error)" "grep nonexistent 2> /dev/null ; echo \$?" \
"1\n" "" ""
-testing "grep (exit success)" "grep grep $0 > /dev/null 2>&1 ; echo \$?" "0\n" \
+testing "grep (exit success)" "grep grep '$0' > /dev/null 2>&1 ; echo \$?" "0\n" \
"" ""
# Test various data sources and destinations
diff --git a/testsuite/printf.tests b/testsuite/printf.tests
index 9a3c874..963ded9 100755
--- a/testsuite/printf.tests
+++ b/testsuite/printf.tests
@@ -20,7 +20,7 @@
"" ""
testing "printf repeatedly uses pattern for each argv" \
- "${bb}printf '%s\n' foo \$HOME" \
+ "${bb}printf '%s\n' foo '$HOME'" \
"foo\n$HOME\n" \
"" ""
diff --git a/testsuite/pwd/pwd-prints-working-directory b/testsuite/pwd/pwd-prints-working-directory
index 971adb5..fc7fea7 100644
--- a/testsuite/pwd/pwd-prints-working-directory
+++ b/testsuite/pwd/pwd-prints-working-directory
@@ -1,4 +1,4 @@
# shell's $PWD may leave symlinks unresolved.
# "pwd" may be a built-in and have the same problem.
# External pwd _can't_ have that problem (current dir on Unix is physical).
-test $(`which pwd`) = $(busybox pwd)
+test "$(`which pwd`)" = "$(busybox pwd)"
diff --git a/testsuite/sum.tests b/testsuite/sum.tests
index b9f4cbf..e637934 100755
--- a/testsuite/sum.tests
+++ b/testsuite/sum.tests
@@ -13,12 +13,12 @@
# test can create a file "actual" instead of writing to stdout
testing "sum -r file doesn't print file's name" \
- "sum -r $0 | grep -c $0 && echo wrongly_printed_filename || echo yes" \
+ "sum -r '$0' | grep -c '$0' && echo wrongly_printed_filename || echo yes" \
"0\nyes\n" "" ""
testing "sum -r file file does print both names" \
- "sum -r $0 $0 | grep -c $0 && echo yes || echo wrongly_omitted_filename" \
+ "sum -r '$0' '$0' | grep -c '$0' && echo yes || echo wrongly_omitted_filename" \
"2\nyes\n" "" ""
testing "sum -s file does print file's name" \
- "sum -s $0 | grep -c $0 && echo yes || echo wrongly_omitted_filename" \
+ "sum -s '$0' | grep -c '$0' && echo yes || echo wrongly_omitted_filename" \
"1\nyes\n" "" ""
exit $FAILCOUNT
diff --git a/testsuite/xargs/xargs-works b/testsuite/xargs/xargs-works
index c95869e..a4bba76 100644
--- a/testsuite/xargs/xargs-works
+++ b/testsuite/xargs/xargs-works
@@ -1,4 +1,6 @@
+# FEATURE: CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
+
[ -n "$d" ] || d=..
-find "$d" -name \*works -type f | xargs md5sum > logfile.gnu
-find "$d" -name \*works -type f | busybox xargs md5sum > logfile.bb
+find "$d" -name \*works -type f -print0 | xargs -0 md5sum > logfile.gnu
+find "$d" -name \*works -type f -print0 | busybox xargs -0 md5sum > logfile.bb
diff -u logfile.gnu logfile.bb