add From guessing tests to test suite

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@infradead.org>
This commit is contained in:
Dirk Hohndel 2010-04-21 14:55:57 -07:00 committed by Carl Worth
parent b57d9635f5
commit 037cfc5f5a

View file

@ -62,6 +62,7 @@ increment_mtime ()
# '[cc]="Some User <user@example.com>"' # '[cc]="Some User <user@example.com>"'
# [reply-to]=some-address # [reply-to]=some-address
# [in-reply-to]=<message-id> # [in-reply-to]=<message-id>
# '[header]=full header line, including keyword'
# #
# Additional values for email headers. If these are not provided # Additional values for email headers. If these are not provided
# then the relevant headers will simply not appear in the # then the relevant headers will simply not appear in the
@ -116,6 +117,11 @@ generate_message ()
fi fi
additional_headers="" additional_headers=""
if [ ! -z "${template[header]}" ]; then
additional_headers="${template[header]}
${additional_headers}"
fi
if [ ! -z "${template[reply-to]}" ]; then if [ ! -z "${template[reply-to]}" ]; then
additional_headers="Reply-To: ${template[reply-to]} additional_headers="Reply-To: ${template[reply-to]}
${additional_headers}" ${additional_headers}"
@ -131,6 +137,7 @@ ${additional_headers}"
${additional_headers}" ${additional_headers}"
fi fi
cat <<EOF >$gen_msg_filename cat <<EOF >$gen_msg_filename
From: ${template[from]} From: ${template[from]}
To: ${template[to]} To: ${template[to]}
@ -212,7 +219,7 @@ path=${MAIL_DIR}
[user] [user]
name=Notmuch Test Suite name=Notmuch Test Suite
primary_email=test_suite@notmuchmail.org primary_email=test_suite@notmuchmail.org
other_email=test_suite_other@notmuchmail.org other_email=test_suite_other@notmuchmail.org;test_suite@otherdomain.org
EOF EOF
printf "Testing \"notmuch new\" in several variations:\n" printf "Testing \"notmuch new\" in several variations:\n"
@ -860,6 +867,100 @@ printf " Searching returns all three messages in one thread..."
output=$($NOTMUCH search foo | notmuch_search_sanitize) output=$($NOTMUCH search foo | notmuch_search_sanitize)
pass_if_equal "$output" "thread:XXX 2000-01-01 [3/3] Notmuch Test Suite; brokenthreadtest (inbox unread)" 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@example.com>"' \
[to]=mailinglist@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@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, mailinglist@notmuchmail.org
In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:
> from guessing test"
printf " Magic from guessing (Envelope-to:)...\t\t"
add_message '[from]="Sender <sender@example.com>"' \
[to]=mailinglist@notmuchmail.org \
[subject]=notmuch-reply-test \
'[header]="Envelope-To: test_suite_other@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@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, mailinglist@notmuchmail.org
In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:
> from guessing test"
printf " Magic from guessing (X-Original-To:)...\t"
add_message '[from]="Sender <sender@example.com>"' \
[to]=mailinglist@notmuchmail.org \
[subject]=notmuch-reply-test \
'[header]="X-Original-To: test_suite_other@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@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, mailinglist@notmuchmail.org
In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:
> from guessing test"
printf " Magic from guessing (Received: .. for ..)...\t"
add_message '[from]="Sender <sender@example.com>"' \
[to]=mailinglist@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@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@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, mailinglist@notmuchmail.org
In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:
> from guessing test"
printf " Magic from guessing (Received: domain)...\t"
add_message '[from]="Sender <sender@example.com>"' \
[to]=mailinglist@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@otherdomain.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, mailinglist@notmuchmail.org
In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0800, Sender <sender@example.com> wrote:
> from guessing test"
echo "" echo ""
echo "Notmuch test suite complete." echo "Notmuch test suite complete."