Ensure that "notmuch reply" succeeds during testing.

In some (bad!) cases, "notmuch reply" might fail, or might even
segfault.  If this happens, it indicates a bug, and the test suite
should notice it.
This commit is contained in:
Daniel Kahn Gillmor 2017-07-14 22:14:22 +02:00 committed by David Bremner
parent cd853915ec
commit 23a4d09773

View file

@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="basic reply test"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
@ -17,7 +17,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> basic reply test"
> basic reply test
OK"
test_begin_subtest "Multiple recipients"
add_message '[from]="Sender <sender@example.com>"' \
@ -26,7 +27,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="Multiple recipients"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Someone Else <someone@example.com>
@ -34,7 +35,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> Multiple recipients"
> Multiple recipients
OK"
test_begin_subtest "Reply with CC"
add_message '[from]="Sender <sender@example.com>"' \
@ -44,7 +46,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="reply with CC"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
@ -53,7 +55,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> reply with CC"
> reply with CC
OK"
test_begin_subtest "Reply from alternate address"
add_message '[from]="Sender <sender@example.com>"' \
@ -62,7 +65,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="reply from alternate address"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
@ -70,7 +73,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> reply from alternate address"
> reply from alternate address
OK"
test_begin_subtest "Reply from address in named group list"
add_message '[from]="Sender <sender@example.com>"' \
@ -80,7 +84,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="Reply from address in named group list"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, someone@example.com
@ -88,7 +92,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> Reply from address in named group list"
> Reply from address in named group list
OK"
test_begin_subtest "Support for Reply-To"
add_message '[from]="Sender <sender@example.com>"' \
@ -98,7 +103,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[body]="support for reply-to"' \
'[reply-to]="Sender <elsewhere@example.com>"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <elsewhere@example.com>
@ -106,7 +111,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> support for reply-to"
> support for reply-to
OK"
test_begin_subtest "Un-munging Reply-To"
add_message '[from]="Sender <sender@example.com>"' \
@ -116,7 +122,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[body]="Un-munging Reply-To"' \
'[reply-to]="Evil Munging List <list@example.com>"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Some List <list@example.com>
@ -124,13 +130,14 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> Un-munging Reply-To"
> Un-munging Reply-To
OK"
test_begin_subtest "Message with header of exactly 200 bytes"
add_message '[subject]="This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces"' \
'[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \
'[body]="200-byte header"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: This subject is exactly 200 bytes in length. Other than its
length there is not much of note here. Note that the length of 200 bytes
@ -139,7 +146,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote:
> 200-byte header"
> 200-byte header
OK"
test_begin_subtest "From guessing: Envelope-To"
add_message '[from]="Sender <sender@example.com>"' \
@ -149,7 +157,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[body]="From guessing"' \
'[header]="Envelope-To: test_suite_other@notmuchmail.org"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
Subject: Re: From guessing
To: Sender <sender@example.com>, Recipient <recipient@example.com>
@ -157,7 +165,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> From guessing"
> From guessing
OK"
test_begin_subtest "From guessing: X-Original-To"
add_message '[from]="Sender <sender@example.com>"' \
@ -167,7 +176,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[body]="From guessing"' \
'[header]="X-Original-To: test_suite@otherdomain.org"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org>
Subject: Re: From guessing
To: Sender <sender@example.com>, Recipient <recipient@example.com>
@ -175,7 +184,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> From guessing"
> From guessing
OK"
test_begin_subtest "From guessing: Delivered-To"
add_message '[from]="Sender <sender@example.com>"' \
@ -185,7 +195,7 @@ add_message '[from]="Sender <sender@example.com>"' \
'[body]="From guessing"' \
'[header]="Delivered-To: test_suite_other@notmuchmail.org"'
output=$(notmuch reply id:${gen_msg_id})
output=$(notmuch reply id:${gen_msg_id} 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
Subject: Re: From guessing
To: Sender <sender@example.com>, Recipient <recipient@example.com>
@ -193,7 +203,8 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> From guessing"
> From guessing
OK"
test_begin_subtest "Reply with RFC 2047-encoded headers"
add_message '[subject]="=?iso-8859-1?q?=e0=df=e7?="' \
@ -204,7 +215,7 @@ add_message '[subject]="=?iso-8859-1?q?=e0=df=e7?="' \
# GMime happens to change from Q- to B-encoding. We canonicalize the
# case of the encoding and charset because different versions of GMime
# capitalize the encoding differently.
output=$(notmuch reply id:${gen_msg_id} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge')
output=$( (notmuch reply id:${gen_msg_id} 2>&1 && echo OK) | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge')
test_expect_equal "$output" "\
From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: =?iso-8859-1?b?4N/n?=
@ -213,12 +224,13 @@ In-Reply-To: <${gen_msg_id}>
References: <${gen_msg_id}>
On Tue, 05 Jan 2010 15:43:56 -0000, ☃ <snowman@example.com> wrote:
> Encoding"
> Encoding
OK"
test_begin_subtest "Reply with RFC 2047-encoded headers (JSON)"
output=$(notmuch reply --format=json id:${gen_msg_id})
output=$(echo '{"answer":' && notmuch reply --format=json id:${gen_msg_id} 2>&1 && echo ', "success": "OK"}')
test_expect_equal_json "$output" '
{
{ "answer": {
"original": {
"body": [
{
@ -251,11 +263,13 @@ test_expect_equal_json "$output" '
"Subject": "Re: \u00e0\u00df\u00e7",
"To": "\u2603 <snowman@example.com>"
}
},
"success": "OK"
}'
test_begin_subtest "Reply to a message with multiple Cc headers"
add_email_corpus broken
output=$(notmuch reply id:multiple-cc@example.org)
output=$(notmuch reply id:multiple-cc@example.org 2>&1 && echo OK)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
Subject: Re: wowsers!
To: Alice <alice@example.org>, Daniel <daniel@example.org>
@ -264,6 +278,7 @@ In-Reply-To: <multiple-cc@example.org>
References: <multiple-cc@example.org>
On Thu, 16 Jun 2016 22:14:41 -0400, Alice <alice@example.org> wrote:
> Note the Cc: and cc: headers."
> Note the Cc: and cc: headers.
OK"
test_done