busybox/testsuite
Denys Vlasenko 55f3cab7e9 bc: fix "echo -n '#foo' | bc" not eating last 'o'
function                                             old     new   delta
zdc_parse_expr                                       656     653      -3
bc_lex_lineComment                                    39      36      -3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6)               Total: -6 bytes
   text	   data	    bss	    dec	    hex	filename
 981424	    485	   7296	 989205	  f1815	busybox_old
 981418	    485	   7296	 989199	  f180f	busybox_unstripped

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-18 14:39:33 +01:00
..
basename
bunzip2 randomconfig fixes 2016-12-12 09:26:16 +01:00
bzcat randomconfig fixes 2016-12-12 09:26:16 +01:00
cat
cmp
cp
cut
date testsuite: disable tests for no longer supported bbox-specific date formats 2013-12-31 18:57:39 +01:00
dd
dirname
du randomconfig fixes 3 2016-06-20 00:36:21 +02:00
echo testsuite: check CONFIG_DESKTOP before using 'od -t' 2018-11-27 16:57:36 +01:00
expand
expr
false
find
gunzip
gzip gzip: add test that checks that -9 compresses better than -1 2016-08-15 01:31:17 +02:00
hostid fix bashisms in testsuite/ 2013-11-10 22:06:06 +01:00
hostname
id
ln
ls
md5sum
mkdir
mv
paste paste: new applet 2017-03-23 17:35:52 +01:00
pwd testsuite: allow tests to work in paths containing spaces 2018-04-09 20:35:48 +02:00
rm
rmdir
strings
tail
tar testsuite: fixes after randomconfig run 2011-08-11 10:40:12 +02:00
tee
touch
tr
true
unexpand testsuite/unexpand/unexpand-works-like-GNU: fix false positive 2018-06-27 12:54:57 +02:00
uptime
wc
wget
which testsuite: fix last "which" change 2014-01-23 14:41:53 +01:00
xargs testsuite: allow tests to work in paths containing spaces 2018-04-09 20:35:48 +02:00
all_sourcecode.tests
ar.tests randomconfig fixes 2 2016-06-19 21:54:04 +02:00
ash.tests
awk_t1.tar.bz2
awk.tests awk: do not allow $(-1) 2018-04-23 10:53:18 +02:00
bc_add_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_add.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_arctangent_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_arctangent.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_array_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_array.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_arrays_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_arrays.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_bessel_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_bessel.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_boolean_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_boolean.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_cosine_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_cosine.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_decimal_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_decimal.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_divide_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_divide.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_exponent_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_exponent.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_large.tar.xz testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_log_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_log.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_misc1_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_misc1.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_misc2_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_misc2.bc bc: partially rewrite parser, tests pass, ^C might be broken now 2018-12-16 16:10:38 +01:00
bc_misc_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_misc.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_modulus_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_modulus.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_multiply_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_multiply.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_pi_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_pi.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_power_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_power.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_sine_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_sine.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_sqrt_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_sqrt.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_strings_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_strings.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_subtract_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_subtract.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_vars_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc_vars.bc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
bc.tests bc: fix "echo -n '#foo' | bc" not eating last 'o' 2018-12-18 14:39:33 +01:00
bunzip2.tests bzip2: fix two crashes on corrupted archives 2018-04-08 20:05:04 +02:00
busybox.tests testsuite: update busybox and bzcat tests 2018-02-12 15:32:02 +01:00
bz2_issue_11.bz2 bzip2: fix two crashes on corrupted archives 2018-04-08 20:05:04 +02:00
bz2_issue_12.bz2 bzip2: fix two crashes on corrupted archives 2018-04-08 20:05:04 +02:00
bzcat.tests testsuite/bzcat.tests: fix false positive take 2 2018-06-27 13:15:10 +02:00
cal.tests
cat.tests testsuite/cat.tests: fix false positive 2018-06-27 09:57:30 +02:00
comm.tests
cp.tests
cpio.tests randomconfig fixes 2016-12-12 09:26:16 +01:00
cryptpw.tests cryptpw: support "rounds=NNNNNNN$" thing in salts 2017-01-15 21:48:31 +01:00
cut.tests
dc_add_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_add.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_boolean_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_boolean.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_decimal_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_decimal.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_divide_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_divide.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_divmod_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_divmod.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_misc_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_misc.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_modexp_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_modexp.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_modulus_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_modulus.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_multiply_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_multiply.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_power_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_power.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_sqrt_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_sqrt.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_strings_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_strings.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_subtract_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc_subtract.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dc.tests testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dcx_vars_results.txt testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
dcx_vars.dc testsuite: add bc and dc tests 2018-12-12 21:41:40 +01:00
diff.tests diff.tests: add testcases for -B and single line changes 2015-07-31 16:51:15 +02:00
expand.tests
factor.tests factor: new applet 2017-04-09 21:18:43 +02:00
find.tests find: fix handling of trailing slashes in -name PATTERN comparisons 2016-11-25 20:14:33 +01:00
fold.tests
grep.tests testsuite: allow tests to work in paths containing spaces 2018-04-09 20:35:48 +02:00
gunzip.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
head.tests head: convert existing tests to new-style 2018-09-22 19:40:35 +02:00
hexdump.tests hexdump: fix short file of zero butes treated as dup 2018-07-03 16:29:06 +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
makedevs.tests randconfig fixes 2015-10-11 23:48:28 +02:00
md5sum.tests {md5,shaN}sum: make -c EMPTY fail 2016-07-11 19:51:08 +02:00
mdev.tests sysctl: fix file parsing, do not require -w for VAR=VAL 2017-08-05 13:45:22 +02:00
mkfs.minix.tests fix testsuite false positive 2013-01-21 08:28:37 +01:00
mount.testroot
mount.tests testsuite/mount.tests: fix false positive 2018-06-28 14:10:00 +02:00
od.tests od_bloaty: fix floating point output 2017-07-19 13:12:02 +02:00
parse.tests sysctl: fix file parsing, do not require -w for VAR=VAL 2017-08-05 13:45:22 +02:00
patch.tests patch: fix matching failure 2016-11-24 11:40:36 +01:00
pidof.tests testsuite/pidof.tests: fix false positive take 2 2018-06-27 14:50:00 +02:00
printf.tests printf: fix printing +-prefixed numbers 2018-10-19 15:27:42 +02:00
readlink.tests Spelling fixes in comments, documentation, tests and examples 2017-04-17 16:13:32 +02:00
README
runtest remove "local" bashism from a few scripts 2017-01-24 20:52:42 +01:00
rx.tests
sed.tests sed: in '/regexp/cmd1;//cmd2', cmd2 should use the same regexp as cmd1 2017-08-23 17:56:03 +02:00
seq.tests
sha1sum.tests testsuite: add tests for {ms5,shaN}sum 2010-10-16 21:26:47 +02:00
sha3sum.tests sha3: fix to conform to final SHA3 padding standard, add -a BITS option 2016-08-29 14:05:25 +02: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
sum.tests testsuite: allow tests to work in paths containing spaces 2018-04-09 20:35:48 +02:00
tail.tests tail: fix -c +N. Closes 4111 2011-09-17 00:12:24 +02:00
tar.tests testsuite/tar.tests: fix false positive 2018-06-27 14:35:56 +02:00
tar.utf8.tar.bz2 tar: handle pax-encoded utf8 filenames and link names. Closes 9406 2016-11-11 17:56:45 +01:00
taskset.tests
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
tr.tests
umlwrapper.sh
uncompress.tests uncompress: fix buffer underrun by corrupted input 2011-08-18 14:29:41 +02:00
unexpand.tests
uniq.tests
unlzma_issue_1.lzma unlzma: fix segfault on bad archive 2018-04-08 20:45:16 +02:00
unlzma_issue_2.lzma unlzma: fix segfault on bad archive 2018-04-08 20:45:16 +02:00
unlzma.tests unlzma: fix segfault on bad archive 2018-04-08 20:45:16 +02:00
unzip_bad_lzma_1.zip unlzma: fix another SEGV case 2018-04-19 19:30:51 +02:00
unzip_bad_lzma_2.zip unlzma: close another SEGV possibility 2018-05-25 17:03:46 +02:00
unzip.tests unlzma: close another SEGV possibility 2018-05-25 17:03:46 +02:00
uuencode.tests libbb: split decode_base64 off read_base64 2011-10-28 13:59:55 +02:00
xargs.tests

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.