]> diplodocus.org Git - nmh/blob - test/runtest
test/runtest: automatically run setup-test if it hasn't already
[nmh] / test / runtest
1 #!/bin/sh
2
3 set -e
4
5 if [ ! -e test-temp-dir ]; then
6 echo "test-temp-dir not found: running setup-test"
7 ./setup-test
8 fi
9
10 export MH_TEST_DIR=`cat test-temp-dir`
11
12 if [ ! -e "$MH_TEST_DIR/bld/Makefile" ]; then
13 echo "temporary directory missing or broken: running setup-test"
14 ./setup-test
15 export MH_TEST_DIR=`cat test-temp-dir`
16 fi
17
18 export MH=$MH_TEST_DIR/mh_profile
19 export PATH=$MH_TEST_DIR/bin:$PATH
20
21 # clean old test data
22 rm -rf $MH_TEST_DIR/Mail
23 # setup test data
24 mkdir $MH_TEST_DIR/Mail
25 folder -create +inbox > /dev/null
26 # create 10 basic messages
27 for i in `seq 1 10`;
28 do
29 cat > $MH_TEST_DIR/Mail/inbox/$i <<EOF
30 From: Test$i <test$i@example.com>
31 To: Some User <user@example.com>
32 Date: Fri, 29 Sep 2006 00:00:00
33 Subject: Testing message $i
34
35 This is message number $i
36 EOF
37 done
38
39 # now run the test
40 set +e
41 /bin/sh $1
42 return_value=$?
43 set -e
44
45 if [ $return_value -eq 0 ] ; then
46 echo Test $1 PASS
47 elif [ $return_value -eq 120 ]; then
48 # indicates test was skipped (eg needed program not found)
49 # test itself should have printed a message about this,
50 # so print nothing here.
51 :
52 else
53 echo Test $1 FAIL
54 fi