X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/23af631076209b31fb28feb90a779ff8dcc153a2..bf982b40ca8495e7a8d14513aedcc2fe15f09a93:/test/format/test-mymbox diff --git a/test/format/test-mymbox b/test/format/test-mymbox index 82f08792..8816cb69 100755 --- a/test/format/test-mymbox +++ b/test/format/test-mymbox @@ -4,41 +4,63 @@ # a particular email address is "mine" or not # -if [ -z "${MH_TEST_COMMON}" ]; then - echo "MH_TEST_COMMON not set; try running via 'make check'" +if test -z "${MH_OBJ_DIR}"; then + srcdir=`dirname "$0"`/../.. + MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR fi -. ${MH_TEST_COMMON} +. "$MH_OBJ_DIR/test/common.sh" setup_test -runtest() -{ - testoutput=$(${MH_LIB_DIR}/ap -format "%(mymbox{text})" "$1") +#### Use ap to get the username. That will either be what's in the +#### Local-Mailbox profile component, which we don't use in the test +#### suite, or the user's login name. ap will escape (quote) it if +#### needed. +user=`run_prog ${MH_LIBEXEC_DIR}/ap -format '%(me)' 0` +host=`${MH_OBJ_DIR}/test/getcanon` - if [ -z "${testoutput}" ]; then - echo "Test program did not return anything for $3" - exit 1 - fi +output=`run_prog ${MH_LIBEXEC_DIR}/ap -format '%(mymbox{text})' "${user}"` +run_test "echo $output" 1 "Basic user test" +output=`run_prog ${MH_LIBEXEC_DIR}/ap -format '%(mymbox{text})' "${user}@${host}"` +run_test "echo $output" 1 "Basic user@host test" +run_test "${MH_LIBEXEC_DIR}/ap -format %(mymbox{text}) nosuchuser@nosuchhost.blah" \ + 0 "Basic non-matching test" - if [ "${testoutput}" -ne $2 ]; then - echo "Did not get expected output for $3" - exit 1 - fi -} +myname="Random User " -user="$(id -un)" -host="$(hostname)" +#### Remove existing Local-Mailbox: profile component, if any. Then +#### add one. +grep -v 'Local-Mailbox: ' "$MH" > "$MH".new +mv -f "$MH".new "$MH" +echo "Local-Mailbox: ${myname}" >> "$MH" -runtest "${user}" 1 "Basic user test" -runtest "${user}@${host}" 1 "Basic user@host test" -runtest "nosuchuser@nosuchhost.blah" 0 "Basic non-matching test" +run_test "echo \ + `run_prog ${MH_LIBEXEC_DIR}/ap -format '%(mymbox{text})' "${myname}"`" \ + 1 "Local-Mailbox test" -myname="Random User " +output=`run_prog ${MH_LIBEXEC_DIR}/ap -format '%(mymbox{text})' "${user}@${host}"` +run_test "echo $output" 0 "Local-mailbox overriding user@host test" + +# Add an Alternate-Mailbox. This caused ismymbox() to lose the +# Local-Mailbox, Bug #36635: -nocc me doesn't account for +# Alternate-Mailboxes. +printf 'Alternate-Mailboxes: user@example.com\n' >> $MH +run_test "echo \ + `run_prog ${MH_LIBEXEC_DIR}/ap -format '%(mymbox{text})' "${myname}"`" \ + 1 "Local-Mailbox with Alternate-Mailbox test" + +# check getmymbox, without match +run_test 'fmttest -message -format %(getmymbox{from}) first' '' -echo "Local-Mailbox: ${myname}" >> ${MH} +grep -v 'Alternate-Mailboxes: ' "$MH" > "$MH".new +mv -f "$MH".new "$MH" +cat >>"$MH" <