busybox/testsuite
Dan Fandrich 775965de85 Improved portability of tests
Removed assumptions about umask and locale. Fixed hostname
tests to work even when the host has no DNS domain set.

Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-11 14:09:28 +02:00
..
basename *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
bunzip2
cat
cmp
cp testsuite fixes 2010-04-02 09:57:27 +02:00
cut randomtest fixes 2010-05-12 15:59:32 +02:00
date Improved portability of tests 2010-08-11 14:09:28 +02:00
dd dd: add testsuite entry for write errors 2007-12-02 01:43:18 +00:00
dirname *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
du Improved portability of tests 2010-08-11 14:09:28 +02:00
echo randomtest fixes 2010-05-11 03:53:57 +02:00
expand randomtest fixes 2010-05-12 15:59:32 +02:00
expr *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
false
find randomtest fixes 2010-05-11 03:53:57 +02:00
gunzip
gzip
head
hostid randomtest fixes 2010-05-12 15:59:32 +02:00
hostname Improved portability of tests 2010-08-11 14:09:28 +02:00
id
ln *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
ls randomtest fixes 2010-05-11 03:53:57 +02:00
md5sum randomtest fixes 2010-05-11 03:53:57 +02:00
mkdir
msh
mv touch: implement -d --date (our own testsuite needs that) 2009-07-18 03:41:29 +02:00
pwd
rm
rmdir
strings
tail randomtest fixes 2010-05-11 03:53:57 +02:00
tar randomtest fixes 2010-05-11 03:53:57 +02:00
tee
touch
tr randomtest fixes 2010-05-12 15:59:32 +02:00
true
unexpand expand, unexpand: new applets from Tito <farmatito@tiscali.it> 2007-08-13 14:10:24 +00:00
uptime *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
wc
wget add SKIP_KNOWN_BUGS and SKIP_INTERNET_TESTS to testsuite 2009-07-18 15:19:41 +02:00
which
xargs
all_sourcecode.tests use utimes() rather than obsolescent utime() 2009-11-15 00:12:53 +01:00
ar.tests randomtest fixes 2010-05-11 03:53:57 +02:00
ash.tests randomconfig fixes 2010-07-05 21:37:12 +02:00
awk_t1.tar.bz2 awk: fix a case with multiple -f options. simplify -f file reading. 2008-07-01 01:57:36 +00:00
awk.tests randomtest fixes 2010-05-11 03:53:57 +02:00
bunzip2.tests bunzip2.tests: replace $? with \$? 2010-01-17 19:08:39 +01:00
busybox.tests randomtest fixes 2010-05-11 04:32:04 +02:00
bzcat.tests touch: implement -d --date (our own testsuite needs that) 2009-07-18 03:41:29 +02:00
cal.tests randomconfig fixes 2010-07-05 21:37:12 +02:00
comm.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
cp.tests cp: improve test coverage 2010-01-16 02:27:31 +01:00
cpio.tests Improved portability of tests 2010-08-11 14:09:28 +02:00
cut.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
diff.tests diff: fix "diff dir1 dir2/". Closes bug 2203 2010-07-09 19:40:00 +02:00
expand.tests [un]expand: fix testsuite 2010-07-06 02:20:00 +02:00
fold.tests randomconfig fixes 2010-07-05 21:37:12 +02:00
grep.tests grep: fix -Fi 2010-04-30 09:32:10 +02:00
gunzip.tests
ls.mk_uni_tests ls: unicode fixes 2010-01-31 05:15:38 +01:00
ls.tests randomconfig fixes 2010-07-05 21:37:12 +02:00
makedevs.device_table.txt test, tcpsvd, tcpsvd: shrink 2009-06-13 22:49:08 +02:00
makedevs.tests Improved portability of tests 2010-08-11 14:09:28 +02:00
mdev.tests randomtest fixes 2010-05-11 12:02:48 +02:00
mkfs.minix.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
mount.testroot
mount.tests randomconfig fixes 2010-07-05 21:37:12 +02:00
od.tests randomtest fixes 2010-05-11 03:53:57 +02:00
parse.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
patch.tests randomtest fixes 2010-05-11 03:53:57 +02:00
pidof.tests randomtest fixes 2010-05-11 03:53:57 +02:00
printf.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
readlink.tests *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
README documentation and typo fixes. By Dan Fandrich (dan AT coneharvesters.com) 2009-09-06 02:58:59 +02:00
runtest testsuite fixes 2010-04-02 09:57:27 +02:00
rx.tests randomtest fixes 2010-05-12 15:59:32 +02:00
sed.tests sed.tests: make last test less confusing 2010-08-01 04:19:59 +02:00
seq.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
sort.tests randomtest fixes 2010-05-11 03:53:57 +02:00
start-stop-daemon.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
sum.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
tail.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
tar.tests Improved portability of tests 2010-08-11 14:09:28 +02:00
taskset.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
test.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
testing.sh testsuite: typo in tr.tests 2010-07-29 10:11:09 +02:00
TODO
tr.tests testsuite: typo in tr.tests 2010-07-29 10:11:09 +02:00
umlwrapper.sh
unexpand.tests [un]expand: fix testsuite 2010-07-06 02:20:00 +02:00
uniq.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
unzip.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
uuencode.tests Improved portability of tests 2010-08-11 14:09:28 +02:00
xargs.tests xargs: fix accounting of -sNUM 2010-06-13 12:43:54 +02:00

To run the test suite, change to this directory and run "./runtest".  It will
run all of the test cases, and list those with unexpected outcomes.  Adding the
-v option will cause it to show expected outcomes as well.  To only run the test
cases for particular applets:

./runtest <applet1> <applet2>...

Set SKIP_KNOWN_BUGS environment variable to any non-empty value
to exclude tests which are known to fail.

Set SKIP_INTERNET_TESTS to exclude tests which require working
internet connection.


Common causes of false positives:

For busybox built against uclibc, /etc/TZ does not exist or does not match
host system timezone setting. For glibc based host systems, timezone settings
are in /etc/localtime.

LANG and LC_xxx environment variables set to non-C locale.


Developer's notes:

The test cases for an applet reside in the subdirectory of the applet name.
The name of the test case should be the assertion that is tested.
The test case should be a shell fragment that returns successfully
if the test case passes, and unsuccessfully otherwise.

If the test case relies on a certain feature, it should include the string
"FEATURE: " followed by the name of the feature in a comment.  If it is always
expected to fail, it should include the string "XFAIL" in a comment.


For the entire testsuite, the copyright is as follows:

Copyright (C) 2001, 2002  Matt Kraai

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.