Fixed printf's in test suite.
[mmh] / test / format / test-mymbox
index e1d1ead..040390c 100755 (executable)
@@ -13,33 +13,39 @@ fi
 
 setup_test
 
-runtest()
-{
-       testoutput=$(${MH_LIB_DIR}/ap -format "%(mymbox{text})" "$1")
-
-       if [ -z "${testoutput}" ]; then
-               echo "Test program did not return anything for $3"
-               exit 1
-       fi
-
-       if [ "${testoutput}" -ne $2 ]; then
-               echo "Did not get expected output for $3"
-               exit 1
-       fi
-}
-
-user="$(id -un)"
-host="$(hostname)"
-
-runtest "${user}" 1 "Basic user test"
-runtest "${user}@${host}" 1 "Basic user@host test"
-runtest "nosuchuser@nosuchhost.blah" 0 "Basic non-matching test"
+#### 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=`${MH_LIB_DIR}/ap -format '%(me)' 0`
+host=`${MH_OBJ_DIR}/test/getfqdn`
+
+output=`${MH_LIB_DIR}/ap -format '%(mymbox{text})' "${user}"`
+run_test "echo $output" 1 "Basic user test"
+output=`${MH_LIB_DIR}/ap -format '%(mymbox{text})' "${user}@${host}"`
+run_test "echo $output" 1 "Basic user@host test"
+run_test "${MH_LIB_DIR}/ap -format %(mymbox{text}) nosuchuser@nosuchhost.blah" \
+         0 "Basic non-matching test"
 
 myname="Random User <random@user.something.com>"
 
+#### 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 "${myname}" 1 "Local-Mailbox test"
-runtest "${user}@${host}" 0 "Local-mailbox overriding user@host test"
+run_test "echo `${MH_LIB_DIR}/ap -format '%(mymbox{text})' "${myname}"`" \
+         1 "Local-Mailbox test"
+
+output=`${MH_LIB_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 `${MH_LIB_DIR}/ap -format '%(mymbox{text})' "${myname}"`" \
+         1 "Local-Mailbox with Alternate-Mailbox test"
 
-exit 0
+exit $failed