X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Fcommon.sh.in;h=dd68f77455e49decaa7dc1d8e4db966dabc39e2b;hb=b15f35a73878825d1824a710982d6769ece9b6cb;hp=be97b1a91da1a5d5f19ab12806f3813957b9955f;hpb=d8c7d4f2c785d35cebd5ea64213a335561a57f7d;p=mmh diff --git a/test/common.sh.in b/test/common.sh.in index be97b1a..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 @@ -175,8 +193,8 @@ EOF for f in MailAliases components digestcomps distcomps forwcomps mhl.body \ mhl.digest mhl.format mhl.forward mhl.headers mhl.reply \ mhn.defaults rcvdistcomps replcomps replgroupcomps scan.MMDDYY \ - scan.YYYYMMDD scan.default scan.mailx scan.nomime scan.size \ - scan.time scan.timely scan.unseen + scan.YYYYMMDD scan.default scan.highlighted scan.mailx scan.nomime \ + scan.size scan.time scan.timely scan.unseen do cp "${MH_INST_DIR}${sysconfdir}/${f}" "${MH_TEST_DIR}/Mail" || exit 1 done @@ -189,6 +207,7 @@ EOF From: Test$i 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