busybox/testsuite
Matheus Izvekov d4a7728dc3 diff: rewrite. much smaller and more correct
function                                             old     new   delta
diffreg                                             1815    3156   +1341
diff_main                                            860    1194    +334
read_token                                             -     161    +161
skip_dir                                               -      44     +44
seek_ft                                                -      31     +31
fetch                                                362     392     +30
line_compar                                            -      21     +21
add_to_dirlist                                        65      61      -4
print_only                                            16       -     -16
skipline                                              51       -     -51
newcand                                               85       -     -85
asciifile                                             89       -     -89
print_status                                         178      73    -105
make_temp                                            148       -    -148
files_differ                                         168       -    -168
get_recursive_dirlist                                182       -    -182
sort                                                 226       -    -226
prepare                                              283       -    -283
change                                               283       -    -283
do_diff                                              416       -    -416
dump_unified_vec                                     457       -    -457
check                                               1512     595    -917
------------------------------------------------------------------------------
(add/remove: 4/12 grow/shrink: 3/3 up/down: 1962/-3430)     Total: -1468 bytes

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 04:57:17 +01:00
..
basename
bunzip2
cat
cmp
cp cp: add support for --parents and long option synonyms of short opts 2009-09-26 14:31:04 +02:00
cut
date correct date testsuite to use compatible format 2009-07-18 04:54:21 +02:00
dd dd: add testsuite entry for write errors 2007-12-02 01:43:18 +00:00
dirname
du testsuite: fix du testsuite to not use changing directories 2008-04-23 07:02:02 +00:00
echo echo: fix echo -e -n "msg\n\0" 2008-04-30 00:39:22 +00:00
expand expand, unexpand: new applets from Tito <farmatito@tiscali.it> 2007-08-13 14:10:24 +00:00
expr expr: fix comparisons 'a < b' where we were overflowing a-b 2008-04-02 20:24:09 +00:00
false
find
gunzip
gzip
head
hostid
hostname add SKIP_KNOWN_BUGS and SKIP_INTERNET_TESTS to testsuite 2009-07-18 15:19:41 +02:00
id
ln
ls add SKIP_KNOWN_BUGS and SKIP_INTERNET_TESTS to testsuite 2009-07-18 15:19:41 +02:00
md5sum
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 testsuite: uniformly use $ECHO with -n -e 2008-07-11 21:41:14 +00:00
tar rename CONFIG_FEATURE_TAR_GZIP 2009-06-03 20:35:26 +02:00
tee
touch
tr - fix bug where we did not reject invalid classes like '[[:alpha' 2007-03-30 14:43:27 +00:00
true
unexpand expand, unexpand: new applets from Tito <farmatito@tiscali.it> 2007-08-13 14:10:24 +00:00
uptime
wc wc can emit unpredictable amount of whitespace 2007-01-28 16:59:30 +00:00
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
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 awk: fix an incorrect casting to string (bug 725). -44 bytes. 2009-11-30 01:15:04 +01:00
bunzip2.tests bunzip2.tests: replace $? with \$? 2010-01-17 19:08:39 +01:00
busybox.tests fix testing of busybox "applet" itself 2010-01-16 02:49:40 +01:00
bzcat.tests touch: implement -d --date (our own testsuite needs that) 2009-07-18 03:41:29 +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 cpio: add a test for recent fix 2010-01-10 02:47:32 +01:00
cut.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
diff.tests diff: rewrite. much smaller and more correct 2010-01-18 04:57:17 +01:00
expand.tests [un]expand: unicode support 2010-01-04 16:21:31 +01:00
fold.tests fold: unicode support. Based on a patch by Tomas Heinrich <heinrich.tomas@gmail.com> 2010-01-04 20:49:58 +01:00
grep.tests grep: fix a case when -o loops forever 2009-12-04 02:48:14 +01:00
gunzip.tests bunzip2/gunzip/uncompress/unlzma: merge into common code - 2007-03-07 22:02:23 +00:00
makedevs.device_table.txt test, tcpsvd, tcpsvd: shrink 2009-06-13 22:49:08 +02:00
makedevs.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
mdev.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
mkfs.minix.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
mount.testroot
mount.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
od.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
parse.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
patch.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
pidof.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
printf.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
readlink.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
README documentation and typo fixes. By Dan Fandrich (dan AT coneharvesters.com) 2009-09-06 02:58:59 +02:00
runtest fix testing of busybox "applet" itself 2010-01-16 02:49:40 +01:00
rx.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
sed.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
seq.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
sort.tests sort: make sort -o FILE FILE (same FILE) work. Closes bug 785. -3 bytes 2009-12-13 02:09:22 +01: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 tar: add support for --overwrite. +70 bytes. 2009-12-16 23:18:59 +01: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 fix mountpoint test to not prevemt mkfs_xxx from making image in any file 2009-07-18 16:22:26 +02:00
TODO
tr.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
umlwrapper.sh
unexpand.tests [un]expand: unicode support 2010-01-04 16:21:31 +01: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 tests: fix POSIX shell source style 2009-11-04 18:41:22 -05:00
xargs.tests tests: fix POSIX shell source style 2009-11-04 18:41:22 -05: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.