48c6157eb9
COMMAND=sort ./sort.tests So we can compare against non-busybox versions, and possibly our testsuite will be useful to somebody like the Linux Test Project someday. Redid testing.sh to add new command, "optional", to skip tests that require certain features. (use: `optional FEATURE_SORT_BIG`, or `optional ""` to stop skipping.) Note that optional is a NOP if the environment variable "OPTIONFLAGS" is blank, so although we're marking up the tests with busybox specific knowledge, it doesn't interfere with running the tests without busybox. Moved setting the "OPTIONFLAGS" environment variable to runtest. Philosophy: busybox-specific stuff belongs in runtest; both testing.sh and the tests themselves should be as busybox-agnostic as possible. Moved detecting that a command isn't in busybox at all (hence skipping the entire command.tests file) to runtests. Rationale: optional can't currently test for more than one feature at a time, so if we clear anything with optional "" we might perform tests we don't want to. Marked up busybox.tests to know which tests need CAT enabled. Fixed up other tests to be happy with new notation. I suspect egrep should be appended to grep. It's a sub-feature, really... |
||
---|---|---|
.. | ||
basename | ||
bunzip2 | ||
cat | ||
cmp | ||
cp | ||
cut | ||
date | ||
dd | ||
dirname | ||
du | ||
echo | ||
expr | ||
false | ||
find | ||
gunzip | ||
gzip | ||
head | ||
hostid | ||
hostname | ||
id | ||
ln | ||
ls | ||
md5sum | ||
mkdir | ||
msh | ||
mv | ||
pwd | ||
rm | ||
rmdir | ||
sed | ||
strings | ||
tail | ||
tar | ||
tee | ||
touch | ||
tr | ||
true | ||
uptime | ||
uuencode | ||
wc | ||
wget | ||
which | ||
xargs | ||
busybox.tests | ||
egrep.tests | ||
grep.tests | ||
pidof.tests | ||
README | ||
runtest | ||
sort.tests | ||
testing.sh | ||
TODO | ||
uniq.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, specify them as parameters to runtest. 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.