X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Fcommon.sh.in;h=dd68f77455e49decaa7dc1d8e4db966dabc39e2b;hb=b15f35a73878825d1824a710982d6769ece9b6cb;hp=3e656599ff30da82f93329fd29d3e2d999356acb;hpb=2b72292fe9a76e3e70b63a7cd639499214097bf8;p=mmh diff --git a/test/common.sh.in b/test/common.sh.in index 3e65659..dd68f77 100644 --- a/test/common.sh.in +++ b/test/common.sh.in @@ -22,7 +22,7 @@ test -z "$MH_INST_DIR" && MH_INST_DIR="${MH_TEST_DIR}/inst" export MH_INST_DIR unset MHBUILD MHCONTEXT MHMTSUSERCONF MHN MHSHOW MHSTORE MHTMPDIR -unset MHLDEBUG MHPDEBUG MHWDEBUG MM_CHARSET +unset MHLDEBUG MHPDEBUG MHWDEBUG MM_CHARSET PAGER output_md5() { @@ -54,20 +54,19 @@ test_skip () # portable implementation of 'which' utility findprog() { - FOUND= PROG="$1" - IFS_SAVE="$IFS" + #### Don't need to save current IFS because this function is run in + #### a subshell. IFS=: for D in $PATH; do if [ -z "$D" ]; then D=. fi - if [ -f "$D/$PROG" ] && [ -x "$D/$PROG" ]; then + if [ -f "$D/$PROG" -a -x "$D/$PROG" ]; then printf '%s\n' "$D/$PROG" break fi done - IFS="$IFS_SAVE" } require_prog () @@ -88,12 +87,26 @@ progress_update () # this automatically rounds to nearest integer arith_eval 100 \* $PROG / $RANGE; PERC=$arith_val # note \r so next update will overwrite - printf "%3d%%\r" $PERC + printf '%3d%%\r' $PERC } progress_done () { - printf "100%%\n" + printf '100%%\n' +} + +check_for_hard_links () { + set +e + + printf '' > "${MH_TEST_DIR}/$$-1" + if link "${MH_TEST_DIR}/$$-1" "${MH_TEST_DIR}/$$-2" 2>/dev/null; then + hard_links_supported=1 + else + hard_links_supported=0 + fi + rm -f "${MH_TEST_DIR}/$$-1" "${MH_TEST_DIR}/$$-2" + + set -e } #### check() requires two arguments, each the name of a file to be @@ -152,7 +165,12 @@ setup_test () #### Don't test with sendmail because it would really send the #### mail. If configured to use sendmail, change to smtp instead #### so that we use fakesmtp. - sed -e 's/mts: *.*/mts: smtp/' "${MHMTSCONF}" >"${MHMTSCONF}.new" + #### And set up the maildrop in the test directory so tests don't + #### use the user's real maildrop. + sed -e 's/mts: *.*/mts: smtp/' \ + -e "s%mmdfldir: *.*%mmdfldir: ${MH_TEST_DIR}/Mail%" \ + -e 's%mmdflfil: *.*%mmdflfil: maildrop%' \ + "${MHMTSCONF}" >"${MHMTSCONF}.new" mv -f "${MHMTSCONF}.new" "${MHMTSCONF}" fi @@ -163,19 +181,20 @@ setup_test () cat > "$MH" < To: Some User Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: $i@test.nmh Subject: Testing message $i This is message number $i