* testsuite/README: Document -v option.
authorMatt Kraai <kraai@debian.org>
Wed, 2 Jan 2002 20:37:59 +0000 (20:37 -0000)
committerMatt Kraai <kraai@debian.org>
Wed, 2 Jan 2002 20:37:59 +0000 (20:37 -0000)
* testsuite/runtest: Handle -v option.
  (show_result): New.
  (run_applet_testcase): Call it.

testsuite/README
testsuite/runtest

index a886b42174f311133639b647fcf9dcb85a6ff086..b02dfa49cdbfad18cec96500ac675a73f76d119a 100644 (file)
@@ -1,6 +1,8 @@
 To run the test suite, change to this directory and run
-"./runtest".  To only run the test cases for particular applets,
-specify them as parameters to runtest.
+"./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
index b19be3dd8cdd2a69b19a9500662e96ccf7e52f55..2e8d391e04be5062fc111aeec97b20d0b920b04c 100755 (executable)
@@ -2,6 +2,23 @@
 
 PATH=$(dirname $(pwd)):$PATH
 
+show_result ()
+{
+       local resolution=$1
+       local testcase=$2
+       local status=0
+
+       if [ $resolution = UPASS -o $resolution = FAIL ]; then
+               status=1
+       fi
+
+       if [ "$verbose" -o $status -eq 1 ]; then
+               echo "$resolution: $testcase"
+       fi
+
+       return $status
+}
+
 run_applet_testcase ()
 {
        local applet=$1
@@ -15,7 +32,7 @@ run_applet_testcase ()
        local testname=$(basename $testcase)
 
        if grep -q "^# CONFIG_${uc_applet} is not set$" ../.config; then
-               echo "UNSUPPORTED: $testname"
+               show_result UNSUPPORTED $testname
                return 0
        fi
 
@@ -23,7 +40,7 @@ run_applet_testcase ()
                local feature=`sed -ne 's/.*UNSUPPORTED: //p' $testcase`
 
                if grep -q "^# ${feature} is not set$" ../.config; then
-                       echo "UNSUPPORTED: $testname"
+                       show_result UNSUPPORTED $testname
                        return 0
                fi
        fi
@@ -37,15 +54,11 @@ run_applet_testcase ()
        pushd tmp >/dev/null
 
        if . ../$testcase >/dev/null 2>&1; then
-               echo "${U}PASS: $testname"
-               if [ "$U" ]; then
-                       status=1
-               fi
+               show_result ${U}PASS $testname
+               status=$!
        else
-               echo "${X}FAIL: $testname"
-               if [ ! "$X" ]; then
-                       status=1
-               fi
+               show_result ${X}FAIL $testname
+               status=$!
        fi
 
        popd >/dev/null
@@ -78,6 +91,11 @@ run_applet_tests ()
 
 status=0
 
+if [ x"$1" = x"-v" ]; then
+       verbose=1
+       shift
+fi
+
 if [ $# -ne 0 ]; then
        applets="$@"
 else