aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-05-11 03:53:57 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2010-05-11 03:53:57 +0200
commitbfa1b2e8e8aaddcf849011a12cb2ac634b27f339 (patch)
tree4a5fbaef1371fb8b2ca504e753fa2a31d25234d4
parent6334390aef2eb52cc827a6d18f942b2b8a04ef59 (diff)
downloadbusybox-w32-bfa1b2e8e8aaddcf849011a12cb2ac634b27f339.tar.gz
busybox-w32-bfa1b2e8e8aaddcf849011a12cb2ac634b27f339.tar.bz2
busybox-w32-bfa1b2e8e8aaddcf849011a12cb2ac634b27f339.zip
randomtest fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--libbb/read.c61
-rwxr-xr-xtestsuite/ar.tests4
-rwxr-xr-xtestsuite/awk.tests2
-rwxr-xr-xtestsuite/busybox.tests7
-rwxr-xr-xtestsuite/cpio.tests2
-rwxr-xr-xtestsuite/diff.tests10
-rw-r--r--testsuite/du/du-h-works2
-rw-r--r--testsuite/du/du-l-works2
-rw-r--r--testsuite/du/du-m-works2
-rw-r--r--testsuite/du/du-s-works2
-rw-r--r--testsuite/du/du-works2
-rw-r--r--testsuite/echo/echo-does-not-print-newline2
-rw-r--r--testsuite/echo/echo-prints-slash-zero2
-rw-r--r--testsuite/find/find-supports-minus-xdev2
-rw-r--r--testsuite/ls/ls-1-works2
-rw-r--r--testsuite/ls/ls-h-works2
-rwxr-xr-xtestsuite/makedevs.tests2
-rw-r--r--testsuite/md5sum/md5sum-verifies-non-binary-file2
-rwxr-xr-xtestsuite/mdev.tests22
-rwxr-xr-xtestsuite/mount.tests15
-rwxr-xr-xtestsuite/od.tests2
-rwxr-xr-xtestsuite/patch.tests2
-rwxr-xr-xtestsuite/pidof.tests4
-rwxr-xr-xtestsuite/sort.tests2
-rw-r--r--testsuite/tail/tail-works2
-rwxr-xr-xtestsuite/tar.tests6
-rw-r--r--testsuite/tar/tar_with_prefix_fields1
-rwxr-xr-xtestsuite/tr.tests6
-rw-r--r--testsuite/tr/tr-d-alnum-works2
-rw-r--r--testsuite/tr/tr-rejects-wrong-class2
-rw-r--r--testsuite/tr/tr-works2
31 files changed, 120 insertions, 58 deletions
diff --git a/libbb/read.c b/libbb/read.c
index 21e005c6f..f3af144f0 100644
--- a/libbb/read.c
+++ b/libbb/read.c
@@ -321,44 +321,45 @@ int FAST_FUNC setup_unzip_on_fd(int fd /*, int fail_if_not_detected*/)
321 /* .gz and .bz2 both have 2-byte signature, and their 321 /* .gz and .bz2 both have 2-byte signature, and their
322 * unpack_XXX_stream wants this header skipped. */ 322 * unpack_XXX_stream wants this header skipped. */
323 xread(fd, &magic, 2); 323 xread(fd, &magic, 2);
324#if ENABLE_FEATURE_SEAMLESS_GZ 324 if (ENABLE_FEATURE_SEAMLESS_GZ
325 && magic[0] == 0x1f && magic[1] == 0x8b
326 ) {
325# if BB_MMU 327# if BB_MMU
326 xformer = unpack_gz_stream; 328 xformer = unpack_gz_stream;
327# else 329# else
328 xformer_prog = "gunzip"; 330 xformer_prog = "gunzip";
329# endif 331# endif
330#endif 332 goto found_magic;
331 if (!ENABLE_FEATURE_SEAMLESS_GZ 333 }
332 || magic[0] != 0x1f || magic[1] != 0x8b 334 if (ENABLE_FEATURE_SEAMLESS_BZ2
335 && magic[0] == 'B' && magic[1] == 'Z'
333 ) { 336 ) {
334 if (!ENABLE_FEATURE_SEAMLESS_BZ2 337# if BB_MMU
335 || magic[0] != 'B' || magic[1] != 'Z' 338 xformer = unpack_bz2_stream;
336 ) { 339# else
337 340 xformer_prog = "bunzip2";
341# endif
342 goto found_magic;
343 }
338// TODO: xz format support. rpm adopted it, "rpm -i FILE.rpm" badly needs this. 344// TODO: xz format support. rpm adopted it, "rpm -i FILE.rpm" badly needs this.
339// Signature: 0xFD, '7', 'z', 'X', 'Z', 0x00 345// Signature: 0xFD, '7', 'z', 'X', 'Z', 0x00
340// More info at: http://tukaani.org/xz/xz-file-format.txt 346// More info at: http://tukaani.org/xz/xz-file-format.txt
341 347
342 if (fail_if_not_detected) 348 /* No known magic seen */
343 bb_error_msg_and_die("no gzip" 349 if (fail_if_not_detected)
344 IF_FEATURE_SEAMLESS_BZ2("/bzip2") 350 bb_error_msg_and_die("no gzip"
345 " magic"); 351 IF_FEATURE_SEAMLESS_BZ2("/bzip2")
346 xlseek(fd, -2, SEEK_CUR); 352 " magic");
347 return fd; 353 xlseek(fd, -2, SEEK_CUR);
348 } 354 return fd;
349#if BB_MMU 355
350 xformer = unpack_bz2_stream; 356 found_magic:
351#else 357# if !BB_MMU
352 xformer_prog = "bunzip2"; 358 /* NOMMU version of open_transformer execs
353#endif 359 * an external unzipper that wants
354 } else { 360 * file position at the start of the file */
355#if !BB_MMU 361 xlseek(fd, -2, SEEK_CUR);
356 /* NOMMU version of open_transformer execs 362# endif
357 * an external unzipper that wants
358 * file position at the start of the file */
359 xlseek(fd, -2, SEEK_CUR);
360#endif
361 }
362 open_transformer(fd, xformer, xformer_prog); 363 open_transformer(fd, xformer, xformer_prog);
363 364
364 return fd; 365 return fd;
diff --git a/testsuite/ar.tests b/testsuite/ar.tests
index f112eb64a..4630d08a4 100755
--- a/testsuite/ar.tests
+++ b/testsuite/ar.tests
@@ -18,10 +18,10 @@ testing "ar creates archives" \
18rm test.a 18rm test.a
19 19
20testing "ar replaces things in archives" \ 20testing "ar replaces things in archives" \
21 "echo 'blah!' >file1 && echo 'blast!'> file2 && ar cr test.a README file1 file2 && mv file2 file1 && ar cr test.a file1 && ar p test.a file1" \ 21 "echo 'blah!' >file1 && echo 'blast!' >file2 && ar cr test.a README file1 file2 && mv file2 file1 && ar cr test.a file1 && ar p test.a file1" \
22 "blast!\n" \ 22 "blast!\n" \
23 "" \ 23 "" \
24 "" 24 ""
25rm test.a 25rm test.a file1 file1 2>/dev/null
26 26
27exit $FAILCOUNT 27exit $FAILCOUNT
diff --git a/testsuite/awk.tests b/testsuite/awk.tests
index efa03a79a..0691a7972 100755
--- a/testsuite/awk.tests
+++ b/testsuite/awk.tests
@@ -18,9 +18,11 @@ testing "awk -F case 7" "awk -F '[#]' '{ print NF }'" "5\n" "" "z##abc##zz\n"
18 18
19# 4294967295 = 0xffffffff 19# 4294967295 = 0xffffffff
20testing "awk bitwise op" "awk '{ print or(4294967295,1) }'" "4.29497e+09\n" "" "\n" 20testing "awk bitwise op" "awk '{ print or(4294967295,1) }'" "4.29497e+09\n" "" "\n"
21optional DESKTOP
21testing "awk hex const 1" "awk '{ print or(0xffffffff,1) }'" "4.29497e+09\n" "" "\n" 22testing "awk hex const 1" "awk '{ print or(0xffffffff,1) }'" "4.29497e+09\n" "" "\n"
22testing "awk hex const 2" "awk '{ print or(0x80000000,1) }'" "2.14748e+09\n" "" "\n" 23testing "awk hex const 2" "awk '{ print or(0x80000000,1) }'" "2.14748e+09\n" "" "\n"
23testing "awk oct const" "awk '{ print or(01234,1) }'" "669\n" "" "\n" 24testing "awk oct const" "awk '{ print or(01234,1) }'" "669\n" "" "\n"
25SKIP=
24 26
25# long field seps requiring regex 27# long field seps requiring regex
26testing "awk long field sep" "awk -F-- '{ print NF, length(\$NF), \$NF }'" \ 28testing "awk long field sep" "awk -F-- '{ print NF, length(\$NF), \$NF }'" \
diff --git a/testsuite/busybox.tests b/testsuite/busybox.tests
index 6eeb3251d..18ac36fc4 100755
--- a/testsuite/busybox.tests
+++ b/testsuite/busybox.tests
@@ -10,8 +10,9 @@ HELPDUMP=`true | busybox 2>&1 | cat`
10 10
11# We need to test under calling the binary under other names. 11# We need to test under calling the binary under other names.
12 12
13 13optional SHOW_USAGE
14testing "busybox --help busybox" "true | busybox --help busybox 2>&1 | cat" "$HELPDUMP\n\n" "" "" 14testing "busybox --help busybox" "true | busybox --help busybox 2>&1 | cat" "$HELPDUMP\n\n" "" ""
15SKIP=
15 16
16ln -s `which busybox` busybox-suffix 17ln -s `which busybox` busybox-suffix
17for i in busybox ./busybox-suffix 18for i in busybox ./busybox-suffix
@@ -26,11 +27,11 @@ do
26 27
27 testing "$i --help" "$i --help 2>&1" "$HELPDUMP\n\n" "" "" 28 testing "$i --help" "$i --help 2>&1" "$HELPDUMP\n\n" "" ""
28 29
29 optional CAT 30 optional SHOW_USAGE CAT
30 testing "" "$i cat" "moo" "" "moo" 31 testing "" "$i cat" "moo" "" "moo"
31 testing "$i --help cat" "$i --help cat 2>&1 | grep print" \ 32 testing "$i --help cat" "$i --help cat 2>&1 | grep print" \
32 "Concatenate FILEs and print them to stdout\n" "" "" 33 "Concatenate FILEs and print them to stdout\n" "" ""
33 optional "" 34 SKIP=
34 35
35 testing "$i --help unknown" "$i --help unknown 2>&1" \ 36 testing "$i --help unknown" "$i --help unknown 2>&1" \
36 "unknown: applet not found\n" "" "" 37 "unknown: applet not found\n" "" ""
diff --git a/testsuite/cpio.tests b/testsuite/cpio.tests
index b4c41dd9a..8cb8b787b 100755
--- a/testsuite/cpio.tests
+++ b/testsuite/cpio.tests
@@ -31,6 +31,7 @@ rm -rf cpio.testdir cpio.testdir2 2>/dev/null
31 31
32# testing "test name" "command" "expected result" "file input" "stdin" 32# testing "test name" "command" "expected result" "file input" "stdin"
33 33
34optional FEATURE_LS_SORTFILES
34testing "cpio extracts zero-sized hardlinks" \ 35testing "cpio extracts zero-sized hardlinks" \
35"$ECHO -ne '$hexdump' | bzcat | cpio -i 2>&1; echo \$?; 36"$ECHO -ne '$hexdump' | bzcat | cpio -i 2>&1; echo \$?;
36ls -ln cpio.testdir | $FILTER_LS" \ 37ls -ln cpio.testdir | $FILTER_LS" \
@@ -41,6 +42,7 @@ ls -ln cpio.testdir | $FILTER_LS" \
41-rw-r--r-- 2 $user $group 0 y 42-rw-r--r-- 2 $user $group 0 y
42" \ 43" \
43 "" "" 44 "" ""
45SKIP=
44 46
45 47
46test x"$SKIP_KNOWN_BUGS" = x"" && { 48test x"$SKIP_KNOWN_BUGS" = x"" && {
diff --git a/testsuite/diff.tests b/testsuite/diff.tests
index 72ebb6c4c..06d5a4fd7 100755
--- a/testsuite/diff.tests
+++ b/testsuite/diff.tests
@@ -106,6 +106,7 @@ rm -rf diff1 diff2
106mkdir diff1 diff2 diff2/subdir 106mkdir diff1 diff2 diff2/subdir
107echo qwe >diff1/- 107echo qwe >diff1/-
108echo asd >diff2/subdir/- 108echo asd >diff2/subdir/-
109optional FEATURE_DIFF_DIR
109testing "diff diff1 diff2/subdir" \ 110testing "diff diff1 diff2/subdir" \
110 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ 111 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
111"\ 112"\
@@ -116,8 +117,10 @@ testing "diff diff1 diff2/subdir" \
116+asd 117+asd
117" \ 118" \
118 "" "" 119 "" ""
120SKIP=
119 121
120# using directory structure from prev test... 122# using directory structure from prev test...
123optional FEATURE_DIFF_DIR
121testing "diff dir dir2/file/-" \ 124testing "diff dir dir2/file/-" \
122 "diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \ 125 "diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \
123"\ 126"\
@@ -128,10 +131,12 @@ testing "diff dir dir2/file/-" \
128+asd 131+asd
129" \ 132" \
130 "" "" 133 "" ""
134SKIP=
131 135
132# using directory structure from prev test... 136# using directory structure from prev test...
133mkdir diff1/test 137mkdir diff1/test
134mkfifo diff2/subdir/test 138mkfifo diff2/subdir/test
139optional FEATURE_DIFF_DIR
135testing "diff of dir and fifo" \ 140testing "diff of dir and fifo" \
136 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ 141 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
137"\ 142"\
@@ -143,10 +148,12 @@ testing "diff of dir and fifo" \
143Only in diff2/subdir: test 148Only in diff2/subdir: test
144" \ 149" \
145 "" "" 150 "" ""
151SKIP=
146 152
147# using directory structure from prev test... 153# using directory structure from prev test...
148rmdir diff1/test 154rmdir diff1/test
149echo >diff1/test 155echo >diff1/test
156optional FEATURE_DIFF_DIR
150testing "diff of file and fifo" \ 157testing "diff of file and fifo" \
151 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ 158 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
152"\ 159"\
@@ -158,9 +165,11 @@ testing "diff of file and fifo" \
158File diff2/subdir/test is not a regular file or directory and was skipped 165File diff2/subdir/test is not a regular file or directory and was skipped
159" \ 166" \
160 "" "" 167 "" ""
168SKIP=
161 169
162# using directory structure from prev test... 170# using directory structure from prev test...
163mkfifo diff1/test2 171mkfifo diff1/test2
172optional FEATURE_DIFF_DIR
164testing "diff -rN does not read non-regular files" \ 173testing "diff -rN does not read non-regular files" \
165 "diff -urN diff1 diff2/subdir | $TRIM_TAB" \ 174 "diff -urN diff1 diff2/subdir | $TRIM_TAB" \
166"\ 175"\
@@ -173,6 +182,7 @@ File diff2/subdir/test is not a regular file or directory and was skipped
173File diff1/test2 is not a regular file or directory and was skipped 182File diff1/test2 is not a regular file or directory and was skipped
174" \ 183" \
175 "" "" 184 "" ""
185SKIP=
176 186
177# clean up 187# clean up
178rm -rf diff1 diff2 188rm -rf diff1 diff2
diff --git a/testsuite/du/du-h-works b/testsuite/du/du-h-works
index 3f8ff3d0b..a1b4b4905 100644
--- a/testsuite/du/du-h-works
+++ b/testsuite/du/du-h-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_HUMAN_READABLE
2
1d=/bin 3d=/bin
2du -h "$d" > logfile.gnu 4du -h "$d" > logfile.gnu
3busybox du -h "$d" > logfile.bb 5busybox du -h "$d" > logfile.bb
diff --git a/testsuite/du/du-l-works b/testsuite/du/du-l-works
index c3d2ec0c1..64dcf8726 100644
--- a/testsuite/du/du-l-works
+++ b/testsuite/du/du-l-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
2
1d=/bin 3d=/bin
2du -l "$d" > logfile.gnu 4du -l "$d" > logfile.gnu
3busybox du -l "$d" > logfile.bb 5busybox du -l "$d" > logfile.bb
diff --git a/testsuite/du/du-m-works b/testsuite/du/du-m-works
index bf0a90e1b..6e733c016 100644
--- a/testsuite/du/du-m-works
+++ b/testsuite/du/du-m-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_HUMAN_READABLE
2
1d=/bin 3d=/bin
2du -m "$d" > logfile.gnu 4du -m "$d" > logfile.gnu
3busybox du -m "$d" > logfile.bb 5busybox du -m "$d" > logfile.bb
diff --git a/testsuite/du/du-s-works b/testsuite/du/du-s-works
index ae970772a..0c870ceb5 100644
--- a/testsuite/du/du-s-works
+++ b/testsuite/du/du-s-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
2
1d=/bin 3d=/bin
2du -s "$d" > logfile.gnu 4du -s "$d" > logfile.gnu
3busybox du -s "$d" > logfile.bb 5busybox du -s "$d" > logfile.bb
diff --git a/testsuite/du/du-works b/testsuite/du/du-works
index 46a336dc3..4db684a9b 100644
--- a/testsuite/du/du-works
+++ b/testsuite/du/du-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
2
1d=/bin 3d=/bin
2du "$d" > logfile.gnu 4du "$d" > logfile.gnu
3busybox du "$d" > logfile.bb 5busybox du "$d" > logfile.bb
diff --git a/testsuite/echo/echo-does-not-print-newline b/testsuite/echo/echo-does-not-print-newline
index 2ed03caf5..2857c0d13 100644
--- a/testsuite/echo/echo-does-not-print-newline
+++ b/testsuite/echo/echo-does-not-print-newline
@@ -1 +1,3 @@
1# FEATURE: CONFIG_FEATURE_FANCY_ECHO
2
1test `busybox echo -n word | wc -c` -eq 4 3test `busybox echo -n word | wc -c` -eq 4
diff --git a/testsuite/echo/echo-prints-slash-zero b/testsuite/echo/echo-prints-slash-zero
index d2466326f..d97ed8e66 100644
--- a/testsuite/echo/echo-prints-slash-zero
+++ b/testsuite/echo/echo-prints-slash-zero
@@ -1 +1,3 @@
1# FEATURE: CONFIG_FEATURE_FANCY_ECHO
2
1test "`busybox echo -e -n 'msg\n\0' | od -t x1 | head -n 1`" = "0000000 6d 73 67 0a 00" 3test "`busybox echo -e -n 'msg\n\0' | od -t x1 | head -n 1`" = "0000000 6d 73 67 0a 00"
diff --git a/testsuite/find/find-supports-minus-xdev b/testsuite/find/find-supports-minus-xdev
index 4c559a1f4..c807fc8f2 100644
--- a/testsuite/find/find-supports-minus-xdev
+++ b/testsuite/find/find-supports-minus-xdev
@@ -1 +1,3 @@
1# FEATURE: CONFIG_FEATURE_FIND_XDEV
2
1busybox find . -xdev >/dev/null 2>&1 3busybox find . -xdev >/dev/null 2>&1
diff --git a/testsuite/ls/ls-1-works b/testsuite/ls/ls-1-works
index 885694920..71ab9a66b 100644
--- a/testsuite/ls/ls-1-works
+++ b/testsuite/ls/ls-1-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_LS_SORTFILES
2
1[ -n "$d" ] || d=.. 3[ -n "$d" ] || d=..
2LC_ALL=C ls -1 "$d" > logfile.gnu 4LC_ALL=C ls -1 "$d" > logfile.gnu
3LC_ALL=C busybox ls -1 "$d" > logfile.bb 5LC_ALL=C busybox ls -1 "$d" > logfile.bb
diff --git a/testsuite/ls/ls-h-works b/testsuite/ls/ls-h-works
index 0c83f7cc5..60016bac1 100644
--- a/testsuite/ls/ls-h-works
+++ b/testsuite/ls/ls-h-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_LS_SORTFILES CONFIG_FEATURE_HUMAN_READABLE
2
1[ -n "$d" ] || d=.. 3[ -n "$d" ] || d=..
2LC_ALL=C ls -h "$d" > logfile.gnu 4LC_ALL=C ls -h "$d" > logfile.gnu
3LC_ALL=C busybox ls -h "$d" > logfile.bb 5LC_ALL=C busybox ls -h "$d" > logfile.bb
diff --git a/testsuite/makedevs.tests b/testsuite/makedevs.tests
index 72fc933d3..f69b4a6b1 100755
--- a/testsuite/makedevs.tests
+++ b/testsuite/makedevs.tests
@@ -16,7 +16,7 @@ FILTER_LS2="sed -e 's/, */,/g' -e 's/ */ /g' | cut -d' ' -f 1-4,9-"
16rm -rf makedevs.testdir 16rm -rf makedevs.testdir
17mkdir makedevs.testdir 17mkdir makedevs.testdir
18 18
19optional FEATURE_MAKEDEVS_TABLE FEATURE_FIND_NOT FEATURE_FIND_TYPE FEATURE_LS_RECURSIVE 19optional FEATURE_MAKEDEVS_TABLE FEATURE_FIND_NOT FEATURE_FIND_TYPE FEATURE_LS_RECURSIVE FEATURE_LS_SORTFILES
20testing "makedevs -d ../makedevs.device_table.txt ." \ 20testing "makedevs -d ../makedevs.device_table.txt ." \
21 "(cd makedevs.testdir && makedevs -d ../makedevs.device_table.txt . 2>&1); 21 "(cd makedevs.testdir && makedevs -d ../makedevs.device_table.txt . 2>&1);
22 find makedevs.testdir ! -type d | sort | xargs ls -lnR | $FILTER_LS" \ 22 find makedevs.testdir ! -type d | sort | xargs ls -lnR | $FILTER_LS" \
diff --git a/testsuite/md5sum/md5sum-verifies-non-binary-file b/testsuite/md5sum/md5sum-verifies-non-binary-file
index 8566a234d..1df818eb5 100644
--- a/testsuite/md5sum/md5sum-verifies-non-binary-file
+++ b/testsuite/md5sum/md5sum-verifies-non-binary-file
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
2
1touch foo 3touch foo
2md5sum foo > bar 4md5sum foo > bar
3busybox md5sum -c bar 5busybox md5sum -c bar
diff --git a/testsuite/mdev.tests b/testsuite/mdev.tests
index 270f6292e..0b4525483 100755
--- a/testsuite/mdev.tests
+++ b/testsuite/mdev.tests
@@ -27,7 +27,7 @@ echo "8:0" >mdev.testdir/sys/block/sda/dev
27 27
28# env - PATH=$PATH: on some systems chroot binary won't otherwise be found 28# env - PATH=$PATH: on some systems chroot binary won't otherwise be found
29 29
30optional STATIC 30optional STATIC FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
31testing "mdev add /block/sda" \ 31testing "mdev add /block/sda" \
32 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 32 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
33 ls -ln mdev.testdir/dev | $FILTER_LS" \ 33 ls -ln mdev.testdir/dev | $FILTER_LS" \
@@ -41,7 +41,7 @@ SKIP=
41rm -rf mdev.testdir/dev/* 41rm -rf mdev.testdir/dev/*
42echo ".* 1:1 666" >mdev.testdir/etc/mdev.conf 42echo ".* 1:1 666" >mdev.testdir/etc/mdev.conf
43echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf 43echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf
44optional STATIC FEATURE_MDEV_CONF 44optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
45testing "mdev stops on first rule" \ 45testing "mdev stops on first rule" \
46 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 46 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
47 ls -ln mdev.testdir/dev | $FILTER_LS" \ 47 ls -ln mdev.testdir/dev | $FILTER_LS" \
@@ -55,7 +55,7 @@ SKIP=
55rm -rf mdev.testdir/dev/* 55rm -rf mdev.testdir/dev/*
56echo "-.* 1:1 666" >mdev.testdir/etc/mdev.conf 56echo "-.* 1:1 666" >mdev.testdir/etc/mdev.conf
57echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf 57echo "sda 2:2 444" >>mdev.testdir/etc/mdev.conf
58optional STATIC FEATURE_MDEV_CONF 58optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
59testing "mdev does not stop on dash-rule" \ 59testing "mdev does not stop on dash-rule" \
60 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 60 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
61 ls -ln mdev.testdir/dev | $FILTER_LS" \ 61 ls -ln mdev.testdir/dev | $FILTER_LS" \
@@ -70,7 +70,7 @@ rm -rf mdev.testdir/dev/*
70echo "\$MODALIAS=qw 1:1 666" >mdev.testdir/etc/mdev.conf 70echo "\$MODALIAS=qw 1:1 666" >mdev.testdir/etc/mdev.conf
71echo "\$MODALIAS=qw. 2:2 444" >>mdev.testdir/etc/mdev.conf 71echo "\$MODALIAS=qw. 2:2 444" >>mdev.testdir/etc/mdev.conf
72echo "\$MODALIAS=qw. 3:3 400" >>mdev.testdir/etc/mdev.conf 72echo "\$MODALIAS=qw. 3:3 400" >>mdev.testdir/etc/mdev.conf
73optional STATIC FEATURE_MDEV_CONF 73optional STATIC FEATURE_MDEV_CONF FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
74testing "mdev \$ENVVAR=regex match" \ 74testing "mdev \$ENVVAR=regex match" \
75 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda MODALIAS=qwe chroot mdev.testdir /mdev 2>&1; 75 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda MODALIAS=qwe chroot mdev.testdir /mdev 2>&1;
76 ls -ln mdev.testdir/dev | $FILTER_LS" \ 76 ls -ln mdev.testdir/dev | $FILTER_LS" \
@@ -83,7 +83,7 @@ SKIP=
83# continuing to use directory structure from prev test 83# continuing to use directory structure from prev test
84rm -rf mdev.testdir/dev/* 84rm -rf mdev.testdir/dev/*
85echo "sda 0:0 444 >disk/scsiA" >mdev.testdir/etc/mdev.conf 85echo "sda 0:0 444 >disk/scsiA" >mdev.testdir/etc/mdev.conf
86optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE 86optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
87testing "mdev move/symlink rule '>bar/baz'" \ 87testing "mdev move/symlink rule '>bar/baz'" \
88 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 88 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
89 ls -lnR mdev.testdir/dev | $FILTER_LS2" \ 89 ls -lnR mdev.testdir/dev | $FILTER_LS2" \
@@ -101,7 +101,7 @@ SKIP=
101# continuing to use directory structure from prev test 101# continuing to use directory structure from prev test
102rm -rf mdev.testdir/dev/* 102rm -rf mdev.testdir/dev/*
103echo "sda 0:0 444 >disk/" >mdev.testdir/etc/mdev.conf 103echo "sda 0:0 444 >disk/" >mdev.testdir/etc/mdev.conf
104optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE 104optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
105testing "mdev move/symlink rule '>bar/'" \ 105testing "mdev move/symlink rule '>bar/'" \
106 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 106 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
107 ls -lnR mdev.testdir/dev | $FILTER_LS2" \ 107 ls -lnR mdev.testdir/dev | $FILTER_LS2" \
@@ -120,7 +120,7 @@ SKIP=
120rm -rf mdev.testdir/dev/* 120rm -rf mdev.testdir/dev/*
121# here we complicate things by having non-matching group 1 and using %0 121# here we complicate things by having non-matching group 1 and using %0
122echo "s([0-9])*d([a-z]+) 0:0 644 >sd/%2_%0" >mdev.testdir/etc/mdev.conf 122echo "s([0-9])*d([a-z]+) 0:0 644 >sd/%2_%0" >mdev.testdir/etc/mdev.conf
123optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE 123optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
124testing "mdev regexp substring match + replace" \ 124testing "mdev regexp substring match + replace" \
125 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 125 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
126 ls -lnR mdev.testdir/dev | $FILTER_LS2" \ 126 ls -lnR mdev.testdir/dev | $FILTER_LS2" \
@@ -138,7 +138,7 @@ SKIP=
138# continuing to use directory structure from prev test 138# continuing to use directory structure from prev test
139rm -rf mdev.testdir/dev/* 139rm -rf mdev.testdir/dev/*
140echo "sda 0:0 644 @echo @echo TEST" >mdev.testdir/etc/mdev.conf 140echo "sda 0:0 644 @echo @echo TEST" >mdev.testdir/etc/mdev.conf
141optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE 141optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
142testing "mdev command" \ 142testing "mdev command" \
143 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 143 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
144 ls -lnR mdev.testdir/dev | $FILTER_LS" \ 144 ls -lnR mdev.testdir/dev | $FILTER_LS" \
@@ -153,7 +153,7 @@ SKIP=
153# continuing to use directory structure from prev test 153# continuing to use directory structure from prev test
154rm -rf mdev.testdir/dev/* 154rm -rf mdev.testdir/dev/*
155echo "sda 0:0 644 =block/ @echo @echo TEST:\$MDEV" >mdev.testdir/etc/mdev.conf 155echo "sda 0:0 644 =block/ @echo @echo TEST:\$MDEV" >mdev.testdir/etc/mdev.conf
156optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE 156optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_EXEC FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
157testing "mdev move and command" \ 157testing "mdev move and command" \
158 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 158 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
159 ls -lnR mdev.testdir/dev | $FILTER_LS2" \ 159 ls -lnR mdev.testdir/dev | $FILTER_LS2" \
@@ -171,7 +171,7 @@ SKIP=
171# continuing to use directory structure from prev test 171# continuing to use directory structure from prev test
172rm -rf mdev.testdir/dev/* 172rm -rf mdev.testdir/dev/*
173echo "@8,0 0:1 644" >mdev.testdir/etc/mdev.conf 173echo "@8,0 0:1 644" >mdev.testdir/etc/mdev.conf
174optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE 174optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
175testing "mdev #maj,min and no explicit uid" \ 175testing "mdev #maj,min and no explicit uid" \
176 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1; 176 "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
177 ls -lnR mdev.testdir/dev | $FILTER_LS" \ 177 ls -lnR mdev.testdir/dev | $FILTER_LS" \
@@ -194,7 +194,7 @@ echo "capi 0:0 0660 =capi20" >mdev.testdir/etc/mdev.conf
194echo "capi([0-9]) 0:0 0660 =capi20.0%1" >>mdev.testdir/etc/mdev.conf 194echo "capi([0-9]) 0:0 0660 =capi20.0%1" >>mdev.testdir/etc/mdev.conf
195echo "capi([0-9]*) 0:0 0660 =capi20.%1" >>mdev.testdir/etc/mdev.conf 195echo "capi([0-9]*) 0:0 0660 =capi20.%1" >>mdev.testdir/etc/mdev.conf
196# mdev invocation with DEVPATH=/class/tty/capi20 was deleting /dev/capi20 196# mdev invocation with DEVPATH=/class/tty/capi20 was deleting /dev/capi20
197optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE 197optional STATIC FEATURE_MDEV_CONF FEATURE_MDEV_RENAME FEATURE_MDEV_RENAME_REGEXP FEATURE_LS_RECURSIVE FEATURE_LS_TIMESTAMPS FEATURE_LS_USERNAME
198testing "move rule does not delete node with name == device_name" \ 198testing "move rule does not delete node with name == device_name" \
199 "\ 199 "\
200 env - PATH=$PATH ACTION=add DEVPATH=/class/tty/capi chroot mdev.testdir /mdev 2>&1; 200 env - PATH=$PATH ACTION=add DEVPATH=/class/tty/capi chroot mdev.testdir /mdev 2>&1;
diff --git a/testsuite/mount.tests b/testsuite/mount.tests
index 043586f05..ee13ec285 100755
--- a/testsuite/mount.tests
+++ b/testsuite/mount.tests
@@ -4,16 +4,19 @@
4 4
5. ./testing.sh 5. ./testing.sh
6 6
7test -f "$bindir/.config" && . "$bindir/.config"
8
7test "`id -u`" = 0 || { 9test "`id -u`" = 0 || {
8 echo "SKIPPED: must be root to test this" 10 echo "SKIPPED: mount (must be root to test this)"
9 exit 0 11 exit 0
10} 12}
11 13
12optional MKFS_MINIX 14if test x"$CONFIG_MKFS_MINIX" != x"y" \
13if [ -n "$SKIP" ] 15|| test x"$CONFIG_FEATURE_MINIX2" != x"y" \
14then 16|| test x"$CONFIG_FEATURE_DEVFS" = x"y" \
15 echo "SKIPPED: mount" 17; then
16 exit 0 18 echo "SKIPPED: mount"
19 exit 0
17fi 20fi
18 21
19testdir=$PWD/testdir 22testdir=$PWD/testdir
diff --git a/testsuite/od.tests b/testsuite/od.tests
index 0bf1f4c54..a2d015ad7 100755
--- a/testsuite/od.tests
+++ b/testsuite/od.tests
@@ -6,6 +6,7 @@
6 6
7# testing "test name" "options" "expected result" "file input" "stdin" 7# testing "test name" "options" "expected result" "file input" "stdin"
8 8
9optional DESKTOP
9testing "od -b" \ 10testing "od -b" \
10 "od -b" \ 11 "od -b" \
11"\ 12"\
@@ -13,5 +14,6 @@ testing "od -b" \
130000005 140000005
14" \ 15" \
15 "" "HELLO" 16 "" "HELLO"
17SKIP=
16 18
17exit $FAILCOUNT 19exit $FAILCOUNT
diff --git a/testsuite/patch.tests b/testsuite/patch.tests
index f3e607186..749d936ea 100755
--- a/testsuite/patch.tests
+++ b/testsuite/patch.tests
@@ -123,4 +123,6 @@ abc
123+456 123+456
124" \ 124" \
125 125
126rm input.orig 2>/dev/null
127
126exit $FAILCOUNT 128exit $FAILCOUNT
diff --git a/testsuite/pidof.tests b/testsuite/pidof.tests
index 45df1a958..624b0a720 100755
--- a/testsuite/pidof.tests
+++ b/testsuite/pidof.tests
@@ -20,12 +20,14 @@ testing "pidof this" "pidof pidof.tests | grep -o -w $$" "$$\n" "" ""
20 20
21optional FEATURE_PIDOF_SINGLE 21optional FEATURE_PIDOF_SINGLE
22testing "pidof -s" "pidof -s init" "1\n" "" "" 22testing "pidof -s" "pidof -s init" "1\n" "" ""
23SKIP=
23 24
24optional FEATURE_PIDOF_OMIT 25optional FEATURE_PIDOF_OMIT FEATURE_PIDOF_SINGLE
25# This test fails now because process name matching logic has changed, 26# This test fails now because process name matching logic has changed,
26# but new logic is not "wrong" either... see find_pid_by_name.c comments 27# but new logic is not "wrong" either... see find_pid_by_name.c comments
27#testing "pidof -o %PPID" "pidof -o %PPID pidof.tests | grep -o -w $$" "" "" "" 28#testing "pidof -o %PPID" "pidof -o %PPID pidof.tests | grep -o -w $$" "" "" ""
28testing "pidof -o %PPID NOP" "pidof -o %PPID -s init" "1\n" "" "" 29testing "pidof -o %PPID NOP" "pidof -o %PPID -s init" "1\n" "" ""
29testing "pidof -o init" "pidof -o 1 init | grep -o -w 1" "" "" "" 30testing "pidof -o init" "pidof -o 1 init | grep -o -w 1" "" "" ""
31SKIP=
30 32
31exit $FAILCOUNT 33exit $FAILCOUNT
diff --git a/testsuite/sort.tests b/testsuite/sort.tests
index 72df80b1f..8a810f8d4 100755
--- a/testsuite/sort.tests
+++ b/testsuite/sort.tests
@@ -118,7 +118,7 @@ testing "sort key doesn't strip leading blanks, disables fallback global sort" \
118"sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n" 118"sort -n -k2 -t ' '" " a \n 1 \n 2 \n" "" " 2 \n 1 \n a \n"
119 119
120testing "sort file in place" \ 120testing "sort file in place" \
121"strace -oZZZ sort -o input input && cat input" "\ 121"sort -o input input && cat input" "\
122111 122111
123222 123222
124" "\ 124" "\
diff --git a/testsuite/tail/tail-works b/testsuite/tail/tail-works
index f3434d1a9..50eca136e 100644
--- a/testsuite/tail/tail-works
+++ b/testsuite/tail/tail-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_INCLUDE_SUSv2
2
1$ECHO -ne "abc\ndef\n123\n" >input 3$ECHO -ne "abc\ndef\n123\n" >input
2$ECHO -ne "def\n123\n" >logfile.ok 4$ECHO -ne "def\n123\n" >logfile.ok
3busybox tail -2 input > logfile.bb 5busybox tail -2 input > logfile.bb
diff --git a/testsuite/tar.tests b/testsuite/tar.tests
index ecd212fbf..8599b79fc 100755
--- a/testsuite/tar.tests
+++ b/testsuite/tar.tests
@@ -9,7 +9,7 @@ mkdir tar.tempdir && cd tar.tempdir || exit 1
9 9
10# testing "test name" "script" "expected result" "file input" "stdin" 10# testing "test name" "script" "expected result" "file input" "stdin"
11 11
12optional FEATURE_TAR_CREATE 12optional FEATURE_TAR_CREATE FEATURE_LS_SORTFILES
13testing "tar hardlinks and repeated files" '\ 13testing "tar hardlinks and repeated files" '\
14rm -rf input_* test.tar 2>/dev/null 14rm -rf input_* test.tar 2>/dev/null
15>input_hard1 15>input_hard1
@@ -42,7 +42,7 @@ drwxr-xr-x input_dir
42"" "" 42"" ""
43SKIP= 43SKIP=
44 44
45optional FEATURE_TAR_CREATE 45optional FEATURE_TAR_CREATE FEATURE_LS_SORTFILES
46testing "tar hardlinks mode" '\ 46testing "tar hardlinks mode" '\
47rm -rf input_* test.tar 2>/dev/null 47rm -rf input_* test.tar 2>/dev/null
48>input_hard1 48>input_hard1
@@ -73,7 +73,7 @@ dr-xr-x--- input_dir
73"" "" 73"" ""
74SKIP= 74SKIP=
75 75
76optional FEATURE_TAR_CREATE 76optional FEATURE_TAR_CREATE FEATURE_LS_SORTFILES
77testing "tar symlinks mode" '\ 77testing "tar symlinks mode" '\
78rm -rf input_* test.tar 2>/dev/null 78rm -rf input_* test.tar 2>/dev/null
79>input_file 79>input_file
diff --git a/testsuite/tar/tar_with_prefix_fields b/testsuite/tar/tar_with_prefix_fields
index 56dcac59d..8c1fda795 100644
--- a/testsuite/tar/tar_with_prefix_fields
+++ b/testsuite/tar/tar_with_prefix_fields
@@ -1,4 +1,5 @@
1# FEATURE: CONFIG_FEATURE_TAR_UNAME_GNAME 1# FEATURE: CONFIG_FEATURE_TAR_UNAME_GNAME
2# FEATURE: CONFIG_DESKTOP
2 3
3tar1_bz2() 4tar1_bz2()
4{ 5{
diff --git a/testsuite/tr.tests b/testsuite/tr.tests
index 9706056c9..a1f83bfc6 100755
--- a/testsuite/tr.tests
+++ b/testsuite/tr.tests
@@ -15,17 +15,23 @@ testing "tr understands 0-9A-F" \
15 "tr -cd '[0-9A-F]'" \ 15 "tr -cd '[0-9A-F]'" \
16 "19AF" "" "19AFH\n" 16 "19AF" "" "19AFH\n"
17 17
18optional CONFIG_FEATURE_TR_CLASSES
18testing "tr understands [:xdigit:]" \ 19testing "tr understands [:xdigit:]" \
19 "tr -cd '[:xdigit:]'" \ 20 "tr -cd '[:xdigit:]'" \
20 "19AF" "" "19AFH\n" 21 "19AF" "" "19AFH\n"
22SKIP=
21 23
24optional CONFIG_FEATURE_TR_CLASSES
22testing "tr does not stop after [:digit:]" \ 25testing "tr does not stop after [:digit:]" \
23 "tr '[:digit:]y-z' 111111111123" \ 26 "tr '[:digit:]y-z' 111111111123" \
24 "111abcx23\n" "" "789abcxyz\n" 27 "111abcx23\n" "" "789abcxyz\n"
28SKIP=
25 29
30optional CONFIG_FEATURE_TR_CLASSES
26testing "tr has correct xdigit sequence" \ 31testing "tr has correct xdigit sequence" \
27 "tr '[:xdigit:]Gg' 1111111151242222333330xX" \ 32 "tr '[:xdigit:]Gg' 1111111151242222333330xX" \
28 "#1111111151242222x333330X\n" "" \ 33 "#1111111151242222x333330X\n" "" \
29 "#0123456789ABCDEFGabcdefg\n" 34 "#0123456789ABCDEFGabcdefg\n"
35SKIP=
30 36
31exit $FAILCOUNT 37exit $FAILCOUNT
diff --git a/testsuite/tr/tr-d-alnum-works b/testsuite/tr/tr-d-alnum-works
index d440f8f3b..6540ea527 100644
--- a/testsuite/tr/tr-d-alnum-works
+++ b/testsuite/tr/tr-d-alnum-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_TR_CLASSES
2
1echo testing | tr -d '[[:alnum:]]' > logfile.gnu 3echo testing | tr -d '[[:alnum:]]' > logfile.gnu
2echo testing | busybox tr -d '[[:alnum:]]' > logfile.bb 4echo testing | busybox tr -d '[[:alnum:]]' > logfile.bb
3 5
diff --git a/testsuite/tr/tr-rejects-wrong-class b/testsuite/tr/tr-rejects-wrong-class
index 97539360d..1d488a3df 100644
--- a/testsuite/tr/tr-rejects-wrong-class
+++ b/testsuite/tr/tr-rejects-wrong-class
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_TR_CLASSES
2
1echo t12esting | tr -d '[[:alpha:]]' > logfile.gnu 3echo t12esting | tr -d '[[:alpha:]]' > logfile.gnu
2echo t12esting | tr -d '[:alpha:]' >> logfile.gnu 4echo t12esting | tr -d '[:alpha:]' >> logfile.gnu
3echo t12esting | tr -d '[[:alpha:]' >> logfile.gnu 5echo t12esting | tr -d '[[:alpha:]' >> logfile.gnu
diff --git a/testsuite/tr/tr-works b/testsuite/tr/tr-works
index 2c0a9d196..3783971ce 100644
--- a/testsuite/tr/tr-works
+++ b/testsuite/tr/tr-works
@@ -1,3 +1,5 @@
1# FEATURE: CONFIG_FEATURE_TR_CLASSES
2
1run_tr () 3run_tr ()
2{ 4{
3 echo -n "echo '$1' | tr '$2' '$3': " 5 echo -n "echo '$1' | tr '$2' '$3': "