[PATCH 1/2] add From guessing tests to test suite
Dirk Hohndel
hohndel at infradead.org
Wed Apr 21 14:55:57 PDT 2010
right now these are not trying to be overly fancy
simply one test per strategy that we apply to figure out the best
from address - including the fallback if there's nothing to go on
Signed-off-by: Dirk Hohndel <hohndel at infradead.org>
---
test/notmuch-test | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 102 insertions(+), 1 deletions(-)
diff --git a/test/notmuch-test b/test/notmuch-test
index 53ee189..855850c 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -60,6 +60,7 @@ increment_mtime ()
# '[cc]="Some User <user at example.com>"'
# [reply-to]=some-address
# [in-reply-to]=<message-id>
+# '[header]=full header line, including keyword'
#
# Additional values for email headers. If these are not provided
# then the relevant headers will simply not appear in the
@@ -114,6 +115,11 @@ generate_message ()
fi
additional_headers=""
+ if [ ! -z "${template[header]}" ]; then
+ additional_headers="${template[header]}
+${additional_headers}"
+ fi
+
if [ ! -z "${template[reply-to]}" ]; then
additional_headers="Reply-To: ${template[reply-to]}
${additional_headers}"
@@ -129,6 +135,7 @@ ${additional_headers}"
${additional_headers}"
fi
+
cat <<EOF >$gen_msg_filename
From: ${template[from]}
To: ${template[to]}
@@ -203,7 +210,7 @@ path=${MAIL_DIR}
[user]
name=Notmuch Test Suite
primary_email=test_suite at notmuchmail.org
-other_email=test_suite_other at notmuchmail.org
+other_email=test_suite_other at notmuchmail.org;test_suite at otherdomain.org
EOF
printf "Testing \"notmuch new\" in several variations:\n"
@@ -629,6 +636,100 @@ printf " Searching returns all three messages in one thread..."
output=$($NOTMUCH search foo | notmuch_search_sanitize)
pass_if_equal "$output" "thread:XXX 2000-01-01 [3/3] Notmuch Test Suite; brokenthreadtest (inbox unread)"
+printf " Magic from guessing (nothing to go on)...\t"
+add_message '[from]="Sender <sender at example.com>"' \
+ [to]=mailinglist at notmuchmail.org \
+ [subject]=notmuch-reply-test \
+ '[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
+ '[body]="from guessing test"'
+
+output=$($NOTMUCH reply id:${gen_msg_id})
+pass_if_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
+Subject: Re: notmuch-reply-test
+To: Sender <sender at example.com>, mailinglist at notmuchmail.org
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender at example.com> wrote:
+> from guessing test"
+
+printf " Magic from guessing (Envelope-to:)...\t\t"
+add_message '[from]="Sender <sender at example.com>"' \
+ [to]=mailinglist at notmuchmail.org \
+ [subject]=notmuch-reply-test \
+ '[header]="Envelope-To: test_suite_other at notmuchmail.org"' \
+ '[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
+ '[body]="from guessing test"'
+
+output=$($NOTMUCH reply id:${gen_msg_id})
+pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
+Subject: Re: notmuch-reply-test
+To: Sender <sender at example.com>, mailinglist at notmuchmail.org
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender at example.com> wrote:
+> from guessing test"
+
+printf " Magic from guessing (X-Original-To:)...\t"
+add_message '[from]="Sender <sender at example.com>"' \
+ [to]=mailinglist at notmuchmail.org \
+ [subject]=notmuch-reply-test \
+ '[header]="X-Original-To: test_suite_other at notmuchmail.org"' \
+ '[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
+ '[body]="from guessing test"'
+
+output=$($NOTMUCH reply id:${gen_msg_id})
+pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
+Subject: Re: notmuch-reply-test
+To: Sender <sender at example.com>, mailinglist at notmuchmail.org
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender at example.com> wrote:
+> from guessing test"
+
+printf " Magic from guessing (Received: .. for ..)...\t"
+add_message '[from]="Sender <sender at example.com>"' \
+ [to]=mailinglist at notmuchmail.org \
+ [subject]=notmuch-reply-test \
+ '[header]="Received: from mail.example.com (mail.example.com [1.1.1.1])\
+ by mail.notmuchmail.org (some MTA) with ESMTP id 12345678\
+ for <test_suite_other at notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 -0400 (EDT)"' \
+ '[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
+ '[body]="from guessing test"'
+
+output=$($NOTMUCH reply id:${gen_msg_id})
+pass_if_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
+Subject: Re: notmuch-reply-test
+To: Sender <sender at example.com>, mailinglist at notmuchmail.org
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender at example.com> wrote:
+> from guessing test"
+
+printf " Magic from guessing (Received: domain)...\t"
+add_message '[from]="Sender <sender at example.com>"' \
+ [to]=mailinglist at notmuchmail.org \
+ [subject]=notmuch-reply-test \
+ '[header]="Received: from mail.example.com (mail.example.com [1.1.1.1])\
+ by mail.otherdomain.org (some MTA) with ESMTP id 12345678\
+ Sat, 10 Apr 2010 07:54:51 -0400 (EDT)"' \
+ '[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
+ '[body]="from guessing test"'
+
+output=$($NOTMUCH reply id:${gen_msg_id})
+pass_if_equal "$output" "From: Notmuch Test Suite <test_suite at otherdomain.org>
+Subject: Re: notmuch-reply-test
+To: Sender <sender at example.com>, mailinglist at notmuchmail.org
+In-Reply-To: <${gen_msg_id}>
+References: <${gen_msg_id}>
+
+On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender at example.com> wrote:
+> from guessing test"
+
+
echo ""
echo "Notmuch test suite complete."
--
1.6.6.1
More information about the notmuch
mailing list