# - try to make the applet you're testing the first thing on the line (this
# not always possible)
# - (???) if you have to create a temporary file, call it TMPFILE
+# - pipe symbols that represent real pipes need a space in front of them
+# (so the test script can find them and add the "../busybox" after it).
+# - pipe symbols that are not used for pipes need to be shell-escaped,
+# with a double \. See the expr test cases.
# ar
# dc - needs an input file
# dd
+# BUG: record count line goes to stdout instead of stderr
dd if=/dev/urandom of=O bs=1k count=1 ; ls -l O ; rm O
# deallocvt
# df
+# XXX: minor formatting differences
df
df .
df -k
# dpkg_deb
# du
+# BUG: rounding behavior differs from GNU du
du
du -s
du -l
find .
# free
+# XXX: minor formatting differences
free
# freeramdisk
# getopt
# grep
-grep -l strdup ../*.c
-grep -c strdup ../*.c
-# I swear, GNU grep seems broken for this next one
-grep -lc strdup ../*.c
-grep -cv strdup ../*.c
+grep -l strdup ../*utils/*.c
+grep -c strdup ../*utils/*.c
+grep -lc strdup ../*utils/*.c
+grep -cv strdup ../*utils/*.c
+grep -i null ../findutils/grep.c
+grep -e strdup -e regcomp -e atexit ../findutils/grep.c
# gunzip
# gzip
+# XXX: compressed output differs from gzip-1.2.4, but decompresses fine
echo testing 1 2 3 >tmpfile1; gzip tmpfile1; echo tmpfile*; md5sum tmpfile1.gz; rm tmpfile1.gz
echo testing 1 2 3 | gzip >tmpfile1.gz; md5sum tmpfile1.gz; rm tmpfile1.gz
-# halt
+
+
+# halt - won't test, dangerous
# head
head tester.sh
hostid
# hostname
+# XXX: minor formatting differences
hostname
hostname -s
hostname -i
#hostname -F
# id
+# BUG: Busybox id doesn't print supplemental groups
id
id -u
id -g
# ifconfig
-# requires BB_FEATURE_IFCONFIG_STATUS
+# requires CONFIG_FEATURE_IFCONFIG_STATUS
ifconfig
#ifconfig -a
#ifconfig eth0
# logname
# ls
+# XXX: minor formatting differences
ls ../e*
ls -l ../e*
ls -s ../e*
# more - can't test: interactive
# mount
+# BUG: proc line starts with /proc instead of proc
mount
-# not going to test any more
+# not going to test mount with any args, can't be done safely or sanely
# mt
# mv - see mv_tests.mk
# rmmod - won't test: dangerous
# route
+# XXX: doesn't DNS resolve
route
-# rpmunpack
+# rpm2cpio
+
+# sed - we can do some one-liners here, some testing is a little
+# difficult to do in just this space (like a,i,c cmds).
-# sed - we can do some one-liners here; probably needs it's own input file
+# test ^$ matching
echo foo | sed -ne '/^$/p'
+echo -e "foo\\n\\nbar" | sed -ne '/^$/p'
+
sed -e '/test$/d' testcases
sed -e '/^echo/d' testcases
sed -e '/test/s/dangerous/PELIGROSO/' testcases
+sed -ne '1,/getopt/p' ../shellutils/pwd.c
+sed -e '/getopt/r ../shellutils/pwd.c' ../editors/sed.c
+
# setkeycodes
sh -c "echo a b c"
sh -c ">"
sh -c "a"
-#sh sh.testcases
+sh sh.testcases
# sleep - can't test: produces no output
touch -c tmpfile1; ls tmpfile1; rm -f tmpfile1
# tr
+# BUG: Busybox tr range handling minix style [a-z] instead of GNU # style a-z
echo "cbaab" | tr abc zyx
echo "TESTING A B C" | tr [A-Z] [a-z]
# not GNU compatible
# update
# uptime
+# BUG: doesn't print number of users
uptime
# usleep
whoami
# xargs
+# XXX: Busygox xargs divides filenames with '\n' instead of ' '
ls -1 ../e* | xargs
ls -1 ../e* | xargs md5sum
# yes - can't test: interactive (needs ^C)
+