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
"" ""
testing "printf repeatedly uses pattern for each argv" \
- "${bb}printf '%s\n' foo \$HOME" \
+ "${bb}printf '%s\n' foo '$HOME'" \
"foo\n$HOME\n" \
"" ""
# 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)"
# 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
+# 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