[PATCH] Show the number of failures after a test run

Dan Fandrich dan at coneharvesters.com
Sat Aug 28 18:38:57 UTC 2010


Signed-off-by: Dan Fandrich <dan at coneharvesters.com>
---
 testsuite/bunzip2.tests  |    6 ++++++
 testsuite/bzcat.tests    |    5 +++++
 testsuite/readlink.tests |    2 ++
 testsuite/runtest        |   10 ++++++++--
 4 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/testsuite/bunzip2.tests b/testsuite/bunzip2.tests
index 734acbb..1181067 100755
--- a/testsuite/bunzip2.tests
+++ b/testsuite/bunzip2.tests
@@ -1,6 +1,8 @@
 #!/bin/sh
 # Used by both gunzip and bunzip2 tests
 
+FAILCOUNT=0
+
 if test "${0##*/}" = "gunzip.tests"; then
     unpack=gunzip
     ext=gz
@@ -473,6 +475,7 @@ check() {
 	echo "PASS: $1"
     else
 	echo "FAIL: $1"
+	FAILCOUNT=$(($FAILCOUNT + 1))
     fi
 }
 
@@ -520,5 +523,8 @@ if test "${0##*/}" = "bunzip2.tests"; then
 	echo "PASS: $unpack: test bz2 file"
     else
 	echo "FAIL: $unpack: test bz2 file"
+	FAILCOUNT=$(($FAILCOUNT + 1))
     fi
 fi
+
+exit $FAILCOUNT
diff --git a/testsuite/bzcat.tests b/testsuite/bzcat.tests
index 78d74f2..2cbb9dc 100755
--- a/testsuite/bzcat.tests
+++ b/testsuite/bzcat.tests
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+FAILCOUNT=0
+
 ext=bz2
 
 bb="busybox "
@@ -35,6 +37,7 @@ check() {
 	echo "PASS: $1"
     else
 	echo "FAIL: $1"
+	FAILCOUNT=$(($FAILCOUNT + 1))
     fi
 }
 
@@ -47,3 +50,5 @@ prep; check "bzcat: dont delete src" "${bb}bzcat t2.bz2; test -f t2.bz2 && echo
 
 )
 rm -rf testdir
+
+exit $FAILCOUNT
diff --git a/testsuite/readlink.tests b/testsuite/readlink.tests
index 73163b0..03bab0c 100755
--- a/testsuite/readlink.tests
+++ b/testsuite/readlink.tests
@@ -29,3 +29,5 @@ testing "readlink -f on a wierd dir" "readlink -f $TESTDIR/../$TESTFILE" "$PWD/$
 
 # clean up
 rm -r "$TESTLINK" "$TESTDIR"
+
+exit $FAILCOUNT
diff --git a/testsuite/runtest b/testsuite/runtest
index c300233..9dbbb5d 100755
--- a/testsuite/runtest
+++ b/testsuite/runtest
@@ -4,6 +4,8 @@
 
 . ./testing.sh
 
+total_failed=0
+
 # Run one old-style test.
 # Tests are stored in applet/testcase shell scripts.
 # They are run using "sh -x -e applet/testcase".
@@ -73,6 +75,7 @@ run_oldstyle_applet_tests()
 			*.r[0-9]*) continue ;; # svn-produced junk
 		esac
 		run_applet_testcase "$applet" "$testcase" || status=1
+		total_failed=$(($total_failed + $status))
 	done
 	return $status
 }
@@ -150,7 +153,10 @@ for applet in $applets; do
 		fi
 #		echo "Running test $tsdir/$applet.tests"
 		PATH="$LINKSDIR:$tsdir:$bindir:$PATH" \
-			"$tsdir/$applet.tests" || status=1
+			"$tsdir/$applet.tests"
+		rc=$?
+		total_failed=$(($total_failed + $rc))
+		test $rc -ne 0 && status=1
 	fi
 done
 
@@ -158,6 +164,6 @@ done
 #rm -rf "$LINKSDIR"
 
 if [ $status -ne 0 ] && [ x"$VERBOSE" = x ]; then
-	echo "Failures detected, running with -v (verbose) will give more info"
+	echo "$total_failed failure(s) detected; running with -v (verbose) will give more info"
 fi
 exit $status
-- 
1.5.3.2



More information about the busybox mailing list