]> diplodocus.org Git - nmh/blobdiff - test/runtest
Reworked test suite to copy the configuration used in the main
[nmh] / test / runtest
index 3d7a92b9bca4960f50437115d4ce75d374509de6..5cfc15846b0a580e4128c642fec6cb4a4fff9782 100755 (executable)
@@ -1,13 +1,25 @@
 #!/bin/sh
 
-export MH_TEST_DIR=`cat test-temp-dir`
-export MH=$MH_TEST_DIR/mh_profile
+status=1
+
+[ $# -eq 1 ]  ||  echo "usage: $0 "'<testname>'
+
+# Get full pathnames that we'll need.
+cd `dirname $0`
+
+export MH_TEST_DIR=`pwd`/testinstall
+export MH=$MH_TEST_DIR/Mail/.mh_profile
 export PATH=$MH_TEST_DIR/bin:$PATH
+export MH_TEST_COMMON=$PWD/common.sh
+
+[ -d $MH_TEST_DIR ] || ./setup-test
 
 # clean old test data
-rm -rf $MH_TEST_DIR/Mail
+trap "rm -rf $MH_TEST_DIR/Mail; exit \$status" 0
 # setup test data
+rm -rf $MH_TEST_DIR/Mail
 mkdir $MH_TEST_DIR/Mail
+echo "Path: $MH_TEST_DIR/Mail" > $MH
 folder -create +inbox > /dev/null
 # create 10 basic messages
 for i in `seq 1 10`;
@@ -23,12 +35,19 @@ EOF
 done
 
 # now run the test
+set +e
 /bin/sh $1
-
 return_value=$?
+set -e
 
-if [ $return_value -eq 0 ] ; then
+if [ $return_value -eq 0 ]; then
     echo Test $1 PASS
+    status=0
+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