aboutsummaryrefslogtreecommitdiff
path: root/testsuite/testing.sh
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2005-09-02 00:41:53 +0000
committerRob Landley <rob@landley.net>2005-09-02 00:41:53 +0000
commit1689075c992a45a4a50f1aaad8aaf1d2983060c8 (patch)
tree679fa07497ea54120459a76464d3257862537b2e /testsuite/testing.sh
parentbabd3fbba668e04841cbe683ca49097fb871fca8 (diff)
downloadbusybox-w32-1689075c992a45a4a50f1aaad8aaf1d2983060c8.tar.gz
busybox-w32-1689075c992a45a4a50f1aaad8aaf1d2983060c8.tar.bz2
busybox-w32-1689075c992a45a4a50f1aaad8aaf1d2983060c8.zip
Working on a new test harness. Moved the sort tests into it.
Diffstat (limited to 'testsuite/testing.sh')
-rwxr-xr-xtestsuite/testing.sh62
1 files changed, 62 insertions, 0 deletions
diff --git a/testsuite/testing.sh b/testsuite/testing.sh
new file mode 100755
index 000000000..d516f722a
--- /dev/null
+++ b/testsuite/testing.sh
@@ -0,0 +1,62 @@
1# Simple test harness infrastructurei for BusyBox
2#
3# Copyright 2005 by Rob Landley
4#
5# License is GPLv2, see LICENSE in the busybox tarball for full license text.
6
7# The "testing" function uses one environment variable:
8# COMMAND = command to execute
9#
10# The function takes five arguments:
11# $1) Description to display when running command
12# $2) Command line arguments to command"
13# $3) Expected result (on stdout)"
14# $4) Data written to file "input"
15# $5) Data written to stdin
16#
17# The exit value of testing is the exit value of the command it ran.
18#
19# The environment variable "FAILCOUNT" contains a cumulative total of the
20#
21
22# The command line parsing is ugly and should be improved.
23
24if [ "$1" == "-v" ]
25then
26 verbose=1
27fi
28
29export FAILCOUNT=0
30
31# The testing function
32
33function testing()
34{
35 if [ $# -ne 5 ]
36 then
37 echo "Test $1 has the wrong number of arguments" >&2
38 exit
39 fi
40
41 f=$FAILCOUNT
42 echo -ne "$3" > expected
43 echo -ne "$4" > input
44 echo -n -e "$5" | eval "$COMMAND $2" > actual
45 RETVAL=$?
46
47 cmp expected actual > /dev/null
48 if [ $? -ne 0 ]
49 then
50 FAILCOUNT=$[$FAILCOUNT+1]
51 echo FAIL:"$1"
52 if [ $verbose ]
53 then
54 diff -u expected actual
55 fi
56 else
57 echo PASS:"$1"
58 fi
59 rm -f input expected actual
60
61 return $RETVAL
62}