busybox/testsuite
Denys Vlasenko 1de25a6e87 unzip: test for bad archive SEGVing
function                                             old     new   delta
huft_build                                          1296    1300      +4

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-26 19:33:05 +01:00
..
basename *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
bunzip2 * archival/bunzip2.c (bunzip2_main): Do not remove files if writing to standard 2002-04-15 15:01:37 +00:00
cat
cmp Kill off the old 'tests' stuff. Write a ton of new tests for the 2004-04-06 11:10:30 +00:00
cp testsuite fixes 2010-04-02 09:57:27 +02:00
cut randomtest fixes 2010-05-12 15:59:32 +02:00
date testsuite: disable tests for no longer supported bbox-specific date formats 2013-12-31 18:57:39 +01: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 testsuite: fix false positives for du 2013-12-20 02:55:16 +01:00
echo echo: fix ENOSPC detection and some iffy code in \NNN handling 2011-02-14 15:42:18 +01: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 * cmp/cmp-detects-difference: Simplify return code negation. 2002-01-02 20:45:42 +00:00
find randomtest fixes 2010-05-11 03:53:57 +02:00
gunzip * testsuite/bunzip2/bunzip2-reads-from-standard-input: Remove -c flags. 2002-03-27 22:48:39 +00:00
gzip * archival/gzip.c (ifname, ofname): Delete. 2002-02-05 22:31:48 +00:00
head egor duda writes: 2004-10-08 07:46:08 +00:00
hostid fix bashisms in testsuite/ 2013-11-10 22:06:06 +01:00
hostname Improved portability of tests 2010-08-11 14:09:28 +02:00
id Kill off the old 'tests' stuff. Write a ton of new tests for the 2004-04-06 11:10:30 +00:00
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 randconfig fixes 2015-10-11 16:27:55 +02:00
rm New. 2001-10-31 16:36:23 +00:00
rmdir
strings Kill off the old 'tests' stuff. Write a ton of new tests for the 2004-04-06 11:10:30 +00:00
tail randomtest fixes 2010-05-11 03:53:57 +02:00
tar testsuite: fixes after randomconfig run 2011-08-11 10:40:12 +02:00
tee
touch New. 2001-12-07 21:27:57 +00:00
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 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 testsuite: fix last "which" change 2014-01-23 14:41:53 +01:00
xargs egor duda writes: 2004-10-08 07:46:08 +00:00
all_sourcecode.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
ar.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
ash.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +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 awk: support "length" form of "length()". Closes 8371 2015-10-02 02:41:39 +02:00
bunzip2.tests decompress_bunzip2: handle concatenated .bz2 files 2010-10-28 23:08:53 +02:00
busybox.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bzcat.tests randconfig fixes 2015-10-12 03:15:36 +02:00
cal.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
comm.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
cp.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
cpio.tests cpio: avoid 'not created: newer or same age file exists' message for dirs 2010-10-18 00:54:51 +02:00
cut.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
dc.tests dc: tweak parsing 2015-02-16 17:12:04 +01:00
diff.tests diff.tests: add testcases for -B and single line changes 2015-07-31 16:51:15 +02:00
expand.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
find.tests randomconfig fixes 2014-12-22 19:37:05 +01:00
fold.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
grep.tests grep: fix "grep -r PATTRN SYMLINK_TO_DIR" 2014-08-28 15:50:09 +02:00
gunzip.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
ls.mk_uni_tests testsuite: fix the mishap in the previous commit 2011-10-31 01:08:35 +01:00
ls.tests randomconfig fixes 2011-08-10 00:51:29 +02:00
makedevs.device_table.txt test, tcpsvd, tcpsvd: shrink 2009-06-13 22:49:08 +02:00
makedevs.tests randconfig fixes 2015-10-11 23:48:28 +02:00
md5sum.tests fix bashisms in testsuite/ 2013-11-10 22:06:06 +01:00
mdev.tests randomconfig fixes 2014-12-22 19:37:05 +01:00
mkfs.minix.tests fix testsuite false positive 2013-01-21 08:28:37 +01:00
mount.testroot *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
mount.tests mount: fix the wrongly stored fs creation time 2012-06-21 16:50:46 +02:00
od.tests randomconfig fixes 2011-08-10 00:51:29 +02:00
parse.tests fix false positive in parse test 2011-06-18 09:29:21 +02:00
patch.tests patch: make -p count path components, not slashes (think /blah//thing) 2011-10-10 19:59:38 +02:00
pidof.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
printf.tests Fix some test cases 2010-09-03 17:09:51 +02:00
readlink.tests randconfig fixes 2015-10-11 16:27:55 +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 after randomconfig run 2011-08-11 10:40:12 +02:00
rx.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
sed.tests sed: implement ",+N" range end 2015-04-17 14:24:55 +02:00
seq.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
sha1sum.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
sha3sum.tests sha3sum: new applet 2013-01-14 05:20:50 +01:00
sha256sum.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
sha512sum.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
sort.tests sort: fix ENDCHAR handling in "-kSTART,N.ENDCHAR" 2015-10-19 19:27:26 +02:00
start-stop-daemon.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
sum.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
tail.tests tail: fix -c +N. Closes 4111 2011-09-17 00:12:24 +02:00
tar.tests tar: add a test that we don't write into symlinks 2015-10-22 16:37:01 +02:00
taskset.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
test.tests test: fix mishandling of "test '(' = '('" and similar 2014-07-01 14:16:28 +02:00
testing.sh fix bashisms in testsuite/ 2013-11-10 22:06:06 +01:00
TODO It was a bit out of date. 2005-11-07 09:06:34 +00:00
tr.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
umlwrapper.sh My mount testsuite. Not automatically run at the moment, need to figure out 2006-03-18 03:00:22 +00:00
uncompress.tests uncompress: fix buffer underrun by corrupted input 2011-08-18 14:29:41 +02:00
unexpand.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
uniq.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
unzip.tests unzip: test for bad archive SEGVing 2015-10-26 19:33:05 +01:00
uuencode.tests libbb: split decode_base64 off read_base64 2011-10-28 13:59:55 +02:00
xargs.tests *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +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.