]> diplodocus.org Git - nmh/blobdiff - test/runtest
Some tests failed because they displayed the user's local
[nmh] / test / runtest
index 0b1865301f67c8091f129e1d6521ecbc4f50d678..17ea5e6a2a3cec4d9e6e51dcd0da222b5c53d0d0 100755 (executable)
@@ -1,28 +1,30 @@
 #!/bin/sh
 
-set -e
+status=1
 
-if [ ! -e test-temp-dir ]; then
-   echo "test-temp-dir not found: running setup-test"
-   ./setup-test
-fi
+[ $# -eq 1 ]  ||  echo "usage: $0 "'<testname>'
 
-export MH_TEST_DIR=`cat test-temp-dir`
-
-if [ ! -e "$MH_TEST_DIR/bld/Makefile" ]; then
-   echo "temporary directory missing or broken: running setup-test"
-   ./setup-test
-   export MH_TEST_DIR=`cat test-temp-dir`
-fi
+# 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
 
+#### Some tests use mhshow to display headers.  It relies on mhl's
+#### default mhl.headers, which runs the date through the pretty
+#### function.  That displays the date with the user's current
+#### timezone.  All of the tests expect GMT, so fool them into using
+#### that.
+export TZ=GMT
+
+[ -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
@@ -45,8 +47,9 @@ set +e
 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,