randomtest fixes
authorDenys Vlasenko <vda.linux@googlemail.com>
Wed, 12 May 2010 13:59:32 +0000 (15:59 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Wed, 12 May 2010 13:59:32 +0000 (15:59 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
16 files changed:
testsuite/ash.tests
testsuite/cut/cut-cuts-a-field
testsuite/date/date-R-works
testsuite/du/du-h-works
testsuite/du/du-k-works
testsuite/du/du-l-works
testsuite/du/du-m-works
testsuite/du/du-s-works
testsuite/du/du-works
testsuite/expand/expand-works-like-GNU
testsuite/hostid/hostid-works
testsuite/hostname/hostname-d-works
testsuite/rx.tests
testsuite/sed.tests
testsuite/tar.tests
testsuite/tr/tr-works

index 183394a..dd626e6 100755 (executable)
@@ -71,7 +71,7 @@ testing "2 bytes which are not valid unicode chars followed by left arrow key" \
 # not checked by the test), then read and execute the rest: "echo A | ..."
 # The bug was that ash was eating the beginning of "echo A" despite the pause.
 testing "Invalid unicode chars followed by a pause do not eat next chars" \
-       "{ echo -ne 'echo \xff\n'; sleep 1; echo -ne 'echo A | hexdump -C >ash.output; exit; exit; exit; exit\n'; } \
+       "{ $ECHO -ne 'echo \xff\n'; sleep 1; $ECHO -ne 'echo A | hexdump -C >ash.output; exit; exit; exit; exit\n'; } \
          | script -q -c 'ash' /dev/null >/dev/null; cat ash.output" \
        "\
 00000000  41 0a                                             |A.|
index 4c7f440..e200b6b 100644 (file)
@@ -1 +1 @@
-test $(echo -e "f1\tf2\tf3" | busybox cut -f 2) = f2
+test $($ECHO -e "f1\tf2\tf3" | busybox cut -f 2) = f2
index 34cd735..d056344 100644 (file)
@@ -1 +1,8 @@
-test x"`date -R`" = x"`busybox date -R`"
+dt1="`date -R`"
+# Wait for the start of next second
+dt="$dt1"
+while test x"$dt" = x"$dt1"; do
+    dt="`date -R`"
+done
+
+test x"$dt" = x"`busybox date -R`"
index a1b4b49..c18433c 100644 (file)
@@ -1,6 +1,4 @@
 # FEATURE: CONFIG_FEATURE_HUMAN_READABLE
 
-d=/bin
-du -h "$d" > logfile.gnu
-busybox du -h "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+dd if=/dev/zero of=file bs=1M count=1 2>/dev/null
+test x"`busybox du -h .`" = x"1.0M     ."
index 6c2c5d0..a522649 100644 (file)
@@ -1,4 +1,4 @@
-d=/bin
-du -k "$d" > logfile.gnu
-busybox du -k "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
+dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
+test x"`busybox du -k .`" = x"80       ." \
+  -o x"`busybox du -k .`" = x"88       ." \
index 64dcf87..6b150e0 100644 (file)
@@ -1,6 +1,8 @@
 # FEATURE: CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
 
-d=/bin
-du -l "$d" > logfile.gnu
-busybox du -l "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+dd if=/dev/zero of=file1 bs=1k count=64 2>/dev/null
+ln file1 file1.1
+dd if=/dev/zero of=file2 bs=1k count=16 2>/dev/null
+test x"`busybox du -l .`" = x"144      ." \
+  -o x"`busybox du -l .`" = x"148      ." \
+  -o x"`busybox du -l .`" = x"152      ." \
index 6e733c0..9fa7437 100644 (file)
@@ -1,6 +1,4 @@
 # FEATURE: CONFIG_FEATURE_HUMAN_READABLE
 
-d=/bin
-du -m "$d" > logfile.gnu
-busybox du -m "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+dd if=/dev/zero of=file bs=1M count=1 2>/dev/null
+test x"`busybox du -m .`" = x"1        ."
index 0c870ce..534432c 100644 (file)
@@ -3,4 +3,6 @@
 d=/bin
 du -s "$d" > logfile.gnu
 busybox du -s "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+cmp logfile.gnu logfile.bb && exit 0
+diff -u logfile.gnu logfile.bb
+exit 1
index 4db684a..e320f1d 100644 (file)
@@ -3,4 +3,6 @@
 d=/bin
 du "$d" > logfile.gnu
 busybox du "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+cmp logfile.gnu logfile.bb && exit 0
+diff -u logfile.gnu logfile.bb
+exit 1
index 8431112..b0278d8 100644 (file)
@@ -1,8 +1,8 @@
 # FEATURE: CONFIG_UNEXPAND
 
 rm -f foo bar
-echo -e "\ty" | expand -t 3 ../../busybox > foo
-echo -e "\ty" | busybox unexpand -t 3 ../../busybox > bar
+$ECHO -e "\ty" | expand -t 3 ../../busybox > foo
+$ECHO -e "\ty" | busybox unexpand -t 3 ../../busybox > bar
 set +e
 test ! -f foo -a -f bar
 if [ $? = 0 ] ; then
@@ -10,8 +10,8 @@ if [ $? = 0 ] ; then
        diff -q foo bar
 fi
 rm -f foo bar
-echo -e "\ty\tx" | expand -it 3 ../../busybox > foo
-echo -e "\ty\tx" | busybox unexpand -it 3 ../../busybox > bar
+$ECHO -e "\ty\tx" | expand -it 3 ../../busybox > foo
+$ECHO -e "\ty\tx" | busybox unexpand -it 3 ../../busybox > bar
 set +e
 test ! -f foo -a -f bar
 if [ $? = 0 ] ; then
index e85698e..bcfd717 100644 (file)
@@ -1,2 +1,8 @@
-test x$(hostid) = x$(busybox hostid)
-
+h=x$(busybox hostid)
+# Is $h a sequence of hex numbers?
+x="${h//[0123456789abcdef]/x}"
+x="${x//xxx/x}"
+x="${x//xxx/x}"
+x="${x//xxx/x}"
+x="${x//xx/x}"
+test x"$x" = x"x"
index a9aeb92..e062242 100644 (file)
@@ -1,2 +1,3 @@
-test x$(hostname -d) = x$(busybox hostname -d)
-
+f=$(busybox hostname -f)
+d=$(busybox hostname -d)
+test x"${f#*.}" = x"$d"
index c2b8814..985fcdc 100755 (executable)
@@ -18,9 +18,9 @@ testing "rx" \
 00000000  43 06 06                                          |C..|\n\
 00000003\n\
 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" \
-       "" "\1\1\376\
+       "" "\01\01\0376\
 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????\
-\x1A\x1A\x1A\x1A\x1A\x4B\xB0\4"
+\x1A\x1A\x1A\x1A\x1A\x4B\xB0\04"
 
 rm -f rx.OUTFILE 2>/dev/null
 
index 5b0750c..88b9c4e 100755 (executable)
@@ -110,7 +110,7 @@ testing "sed embedded NUL" "sed -e 's/woo/bang/'" "\0bang\0woo\0" "" \
 testing "sed embedded NUL g" "sed -e 's/woo/bang/g'" "bang\0bang\0" "" \
        "woo\0woo\0"
 test x"$SKIP_KNOWN_BUGS" = x"" && {
-echo -e "/woo/a he\0llo" > sed.commands
+$ECHO -e "/woo/a he\0llo" > sed.commands
 testing "sed NUL in command" "sed -f sed.commands" "woo\nhe\0llo\n" "" "woo"
 rm sed.commands
 }
@@ -153,7 +153,7 @@ testing "sed clusternewline" \
        "one\none\n111\n222\ntwo\ntwo" "one" "two"
 }
 testing "sed subst+write" \
-       "sed -e 's/i/z/' -e 'woutputw' input -; echo -n X; cat outputw" \
+       "sed -e 's/i/z/' -e 'woutputw' input -; $ECHO -n X; cat outputw" \
        "thzngy\nagaznXthzngy\nagazn" "thingy" "again"
 rm outputw
 testing "sed trailing NUL" \
index d1d4165..f400790 100755 (executable)
@@ -84,7 +84,7 @@ chmod 550 input_dir
 ln input_file input_dir
 ln input_soft input_dir
 tar cf test.tar input_*
-tar tvf test.tar | sed "s/.*[0-9] input/input/"
+tar tvf test.tar | sed "s/.*[0-9] input/input/" | sort
 tar xf test.tar 2>&1
 echo Ok: $?
 ls -l . input_dir/* | grep input_ | sed "s/\\(^[^ ]*\\) .* input/\\1 input/"
index 3783971..5e4a30e 100644 (file)
@@ -2,7 +2,7 @@
 
 run_tr ()
 {
-       echo -n "echo '$1' | tr '$2' '$3': "
+       $ECHO -n "echo '$1' | tr '$2' '$3': "
        echo "$1" | $bb tr "$2" "$3"
        echo
 }