X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Fcommon.sh.in;h=bd33d25b1ef90af752ab122e417a618da9e3c220;hb=a4390a1c51b3a709d6aeefeba2fdd6fa8d525012;hp=be97b1a91da1a5d5f19ab12806f3813957b9955f;hpb=587e977a97865f091131355f6dd250ece99f7adb;p=mmh diff --git a/test/common.sh.in b/test/common.sh.in index be97b1a..bd33d25 100644 --- a/test/common.sh.in +++ b/test/common.sh.in @@ -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 - printf '%s\n' "$D/$PROG" + if [ -f "$D/$PROG" -a -x "$D/$PROG" ]; then + printf "$D/$PROG" break fi done - IFS="$IFS_SAVE" } require_prog () @@ -96,6 +95,20 @@ progress_done () 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 #### diff'ed. #### If the same, the second file is removed. And the first file is @@ -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