Fix the test suite so that individual *.tests files can be run ala

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...
This commit is contained in:
Rob Landley
2005-11-07 08:50:53 +00:00
parent 7ad4b30ed4
commit 48c6157eb9
8 changed files with 66 additions and 71 deletions

View File

@@ -7,15 +7,9 @@
if [ ${#COMMAND} -eq 0 ]; then COMMAND=busybox; fi
. testing.sh
# Depends on nothing
_BB_CONFIG_DEP=""
# We'll assume "cat" is built in, because we need some other command to test.
HELPDUMP=`$COMMAND`
# The gratuitous "\n"s are due to a shell idiosyncrasy: environment variables
# seem to strip trailing whitespace, which makes cmp and diff unhappy.
# We need to test under calling the binary under other names.
ln -s `which "$COMMAND"` busybox-suffix
ln -s `which "$COMMAND"` unknown
@@ -29,15 +23,16 @@ do
testing "$i" "" "$HELPDUMP\n\n" "" ""
testing "$i cat" "cat" "moo" "" "moo"
testing "$i unknown" "unknown 2>&1" \
"unknown: applet not found\n" "" ""
testing "$i --help" "--help 2>&1" "$HELPDUMP\n\n" "" ""
optional CAT
testing "$i cat" "cat" "moo" "" "moo"
testing "$i --help cat" "--help cat 2>&1 | grep prints" \
"Concatenates FILE(s) and prints them to stdout.\n" "" ""
optional ""
testing "$i --help unknown" "--help unknown 2>&1" \
"unknown: applet not found\n" "" ""