[PATCH 1/2] Ensure that "notmuch reply" succeeds during testing.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Fri Jul 14 06:09:11 PDT 2017


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.
---
 test/T220-reply.sh | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/test/T220-reply.sh b/test/T220-reply.sh
index 17741e0d..b12109bf 100755
--- a/test/T220-reply.sh
+++ b/test/T220-reply.sh
@@ -9,7 +9,7 @@ add_message '[from]="Sender <sender at 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>
@@ -26,7 +26,7 @@ add_message '[from]="Sender <sender at 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>, Someone Else <someone at example.com>
@@ -44,7 +44,7 @@ add_message '[from]="Sender <sender at 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>
@@ -62,7 +62,7 @@ add_message '[from]="Sender <sender at 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>
@@ -80,7 +80,7 @@ add_message '[from]="Sender <sender at 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>, someone at example.com
@@ -98,7 +98,7 @@ add_message '[from]="Sender <sender at example.com>"' \
 	    '[body]="support for reply-to"' \
 	    '[reply-to]="Sender <elsewhere at example.com>"'
 
-output=$(notmuch reply id:${gen_msg_id})
+output=$(notmuch reply id:${gen_msg_id} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <elsewhere at example.com>
@@ -116,7 +116,7 @@ add_message '[from]="Sender <sender at example.com>"' \
 	    '[body]="Un-munging Reply-To"' \
 	    '[reply-to]="Evil Munging List <list at example.com>"'
 
-output=$(notmuch reply id:${gen_msg_id})
+output=$(notmuch reply id:${gen_msg_id} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender at example.com>, Some List <list at example.com>
@@ -130,7 +130,7 @@ 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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at 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
@@ -149,7 +149,7 @@ add_message '[from]="Sender <sender at example.com>"' \
 	    '[body]="From guessing"' \
 	    '[header]="Envelope-To: test_suite_other at notmuchmail.org"'
 
-output=$(notmuch reply id:${gen_msg_id})
+output=$(notmuch reply id:${gen_msg_id} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
 Subject: Re: From guessing
 To: Sender <sender at example.com>, Recipient <recipient at example.com>
@@ -167,7 +167,7 @@ add_message '[from]="Sender <sender at example.com>"' \
 	    '[body]="From guessing"' \
 	    '[header]="X-Original-To: test_suite at otherdomain.org"'
 
-output=$(notmuch reply id:${gen_msg_id})
+output=$(notmuch reply id:${gen_msg_id} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at otherdomain.org>
 Subject: Re: From guessing
 To: Sender <sender at example.com>, Recipient <recipient at example.com>
@@ -185,7 +185,7 @@ add_message '[from]="Sender <sender at example.com>"' \
 	    '[body]="From guessing"' \
 	    '[header]="Delivered-To: test_suite_other at notmuchmail.org"'
 
-output=$(notmuch reply id:${gen_msg_id})
+output=$(notmuch reply id:${gen_msg_id} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other at notmuchmail.org>
 Subject: Re: From guessing
 To: Sender <sender at example.com>, Recipient <recipient at example.com>
@@ -204,7 +204,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} || echo failed) | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge')
 test_expect_equal "$output" "\
 From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: =?iso-8859-1?b?4N/n?=
@@ -216,7 +216,7 @@ On Tue, 05 Jan 2010 15:43:56 -0000, ☃ <snowman at example.com> wrote:
 > Encoding"
 
 test_begin_subtest "Reply with RFC 2047-encoded headers (JSON)"
-output=$(notmuch reply --format=json id:${gen_msg_id})
+output=$(notmuch reply --format=json id:${gen_msg_id} || echo failed)
 test_expect_equal_json "$output" '
 {
     "original": {
@@ -255,7 +255,7 @@ test_expect_equal_json "$output" '
 
 test_begin_subtest "Reply to a message with multiple Cc headers"
 add_email_corpus broken
-output=$(notmuch reply id:multiple-cc at example.org)
+output=$(notmuch reply id:multiple-cc at example.org || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite at notmuchmail.org>
 Subject: Re: wowsers!
 To: Alice <alice at example.org>, Daniel <daniel at example.org>
-- 
2.13.2



More information about the notmuch mailing list