X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=test%2Fruntest;h=9f35adea472642eadc302d06122ceb3c13f0cc12;hp=3d7a92b9bca4960f50437115d4ce75d374509de6;hb=88b2142594d5ea1e8385dae5eca81eed1018c555;hpb=7afe9b7d7142e48c76dfac3992fdf91d3e5518ff diff --git a/test/runtest b/test/runtest index 3d7a92b..9f35ade 100755 --- a/test/runtest +++ b/test/runtest @@ -1,34 +1,71 @@ #!/bin/sh +set -e + +export MH_TEST_COMMON="$PWD/common.sh" + +if [ ! -f test-temp-dir ]; then + echo "test-temp-dir not found: running setup-test" + ./setup-test +fi + export MH_TEST_DIR=`cat test-temp-dir` -export MH=$MH_TEST_DIR/mh_profile -export PATH=$MH_TEST_DIR/bin:$PATH + +if [ ! -f "$MH_TEST_DIR/build/Makefile" ]; then + echo "temporary directory missing or broken: running setup-test" + ./setup-test + export MH_TEST_DIR=`cat test-temp-dir` +fi + +unset MMHP MMHC +export PATH="$MH_TEST_DIR/bin:$PATH" +export MMH="$MH_TEST_DIR/.mmh" +MAILDIR="$MH_TEST_DIR/Mail" # clean old test data -rm -rf $MH_TEST_DIR/Mail -# setup test data -mkdir $MH_TEST_DIR/Mail -folder -create +inbox > /dev/null +rm -rf "$MAILDIR" "$MMH" + +# setup mmh +mkdir "$MAILDIR" "$MMH" +cat >"$MMH/profile" <<-! + Path: $MAILDIR + Inbox: +inbox +! +folder -create `mhparam inbox` >/dev/null +folder -create `mhparam trashfolder` >/dev/null +folder -create `mhparam draftfolder` >/dev/null + # create 10 basic messages for i in `seq 1 10`; do - cat > $MH_TEST_DIR/Mail/inbox/$i < -To: Some User -Date: Fri, 29 Sep 2006 00:00:00 -Subject: Testing message $i - -This is message number $i -EOF + cat >"$MAILDIR/inbox/$i" <<-! + From: Test$i + To: Some User + Date: Fri, 29 Sep 2006 00:00:00 + Subject: Testing message $i + + This is message number $i + ! done +folder +inbox >/dev/null # now run the test -/bin/sh $1 - +set +e +export SHELL="${SHELL:-/bin/sh}" +/bin/sh "$1" return_value=$? +set -e if [ $return_value -eq 0 ] ; then - echo Test $1 PASS + printf "Test %-60s\tPASS\n" "$1" + exit 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. + printf "Test %-60s\tSKIP\n" "$1" + exit 2 else - echo Test $1 FAIL + printf "Test %-60s\tFAIL\n" "$1" + exit 1 fi