Allow tests to indicate that they have been skipped by printing their
authorPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sun, 3 Aug 2008 15:13:34 +0000 (15:13 +0000)
committerPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sun, 3 Aug 2008 15:13:34 +0000 (15:13 +0000)
own message and returning with exit status 120.

test/README
test/runtest

index ddfa381..c61647e 100644 (file)
@@ -3,7 +3,14 @@ nmh unit test suite.
 The purpose of these tests is to verify the functionality of the nmh
 commands.  The goal of the suite is to create an environment where testing
 nmh commands is easy and useful.  Each test is a shell script, and is
-launched via the 'sh' command.
+launched via the 'sh' command. The script should run the test and report
+the result by one of:
+
+  * for a test pass: exit with status 0
+  * where a test has been skipped (perhaps because it depends on an
+    external program which can't be found): print "Test $0 SKIP (reason)"
+    and exit with status 120
+  * for a test fail: exit with some status other than 0 or 120
 
 The Suite is arranged as such:
 
index 3d7a92b..21feb73 100755 (executable)
@@ -29,6 +29,11 @@ return_value=$?
 
 if [ $return_value -eq 0 ] ; then
     echo Test $1 PASS
+elif [ $return_value -eq 120 ]; then
+    # indicates test was skipped (eg needed program not found)
+    # test itself should have printed a message about this,
+    # so print nothing here.
+    :
 else
     echo Test $1 FAIL
 fi