aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runtest
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2005-11-07 08:50:53 +0000
committerRob Landley <rob@landley.net>2005-11-07 08:50:53 +0000
commit48c6157eb9c10bdca89af2792177afc0380ef9c5 (patch)
treecdc8aa6b83e2370c00f38dca9b93722736bcff32 /testsuite/runtest
parent7ad4b30ed4ba2542bebcfc5fda9e9af24fb67969 (diff)
downloadbusybox-w32-48c6157eb9c10bdca89af2792177afc0380ef9c5.tar.gz
busybox-w32-48c6157eb9c10bdca89af2792177afc0380ef9c5.tar.bz2
busybox-w32-48c6157eb9c10bdca89af2792177afc0380ef9c5.zip
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...
Diffstat (limited to 'testsuite/runtest')
-rwxr-xr-xtestsuite/runtest14
1 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/runtest b/testsuite/runtest
index 9fd2d0f13..c1b1ec2f4 100755
--- a/testsuite/runtest
+++ b/testsuite/runtest
@@ -91,6 +91,11 @@ else
91 applets=$(ls $srcdir) 91 applets=$(ls $srcdir)
92fi 92fi
93 93
94# Set up option flags so tests can be selective.
95
96configfile=${bindir:-../../}/.config
97export OPTIONFLAGS=:$(echo $(sed -nr 's/^CONFIG_(.*)=.*/\1/p' $configfile) | sed 's/ /:/')
98
94for applet in $applets; do 99for applet in $applets; do
95 if [ "$applet" = "links" ]; then continue; fi 100 if [ "$applet" = "links" ]; then continue; fi
96 if [ "$applet" != "CVS" -a -d "$srcdir/$applet" ]; then 101 if [ "$applet" != "CVS" -a -d "$srcdir/$applet" ]; then
@@ -100,9 +105,18 @@ for applet in $applets; do
100 status=1 105 status=1
101 fi 106 fi
102 fi 107 fi
108
109 # Is this a new-style test?
103 applet=$(echo "$applet" | sed -n 's/\.tests$//p') 110 applet=$(echo "$applet" | sed -n 's/\.tests$//p')
104 if [ ${#applet} -ne 0 ] 111 if [ ${#applet} -ne 0 ]
105 then 112 then
113 appcfg=`grep -i "^# CONFIG_$applet" $configfile`
114 if [ -n "$appcfg" ]
115 then
116 echo "SKIPPED: $applet (is configured out)"
117 continue
118 fi
119 # Setup environment for test.
106 if [ -d links ]; then 120 if [ -d links ]; then
107 rm -f links/"$applet" 121 rm -f links/"$applet"
108 else 122 else