unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Notmuch Mail <notmuch@notmuchmail.org>
Subject: [PATCH 1/2] Ensure that "notmuch reply" succeeds during testing.
Date: Fri, 14 Jul 2017 15:09:11 +0200	[thread overview]
Message-ID: <20170714130912.24777-1-dkg@fifthhorseman.net> (raw)

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@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@notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender@example.com>
@@ -26,7 +26,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} || echo failed)
 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>
@@ -44,7 +44,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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender@example.com>
@@ -62,7 +62,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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <sender@example.com>
@@ -80,7 +80,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} || echo failed)
 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
@@ -98,7 +98,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} || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
 Subject: Re: notmuch-reply-test
 To: Sender <elsewhere@example.com>
@@ -116,7 +116,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} || echo failed)
 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>
@@ -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@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@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} || echo failed)
 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>
@@ -167,7 +167,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} || echo failed)
 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>
@@ -185,7 +185,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} || echo failed)
 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>
@@ -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@notmuchmail.org>
 Subject: Re: =?iso-8859-1?b?4N/n?=
@@ -216,7 +216,7 @@ On Tue, 05 Jan 2010 15:43:56 -0000, ☃ <snowman@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@example.org)
+output=$(notmuch reply id:multiple-cc@example.org || echo failed)
 test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
 Subject: Re: wowsers!
 To: Alice <alice@example.org>, Daniel <daniel@example.org>
-- 
2.13.2

             reply	other threads:[~2017-07-14 13:09 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-14 13:09 Daniel Kahn Gillmor [this message]
2017-07-14 13:09 ` [PATCH 2/2] Add additional munged reply-to tests Daniel Kahn Gillmor
2017-07-14 13:26   ` Daniel Kahn Gillmor
2017-07-14 14:42 ` [PATCH 1/2] Ensure that "notmuch reply" succeeds during testing David Bremner
2017-07-14 17:08   ` Daniel Kahn Gillmor
2017-07-14 18:04     ` David Bremner
2017-07-14 20:14       ` [PATCH v2 " Daniel Kahn Gillmor
2017-07-14 20:14         ` [PATCH v2 2/2] Add additional munged reply-to tests Daniel Kahn Gillmor
2017-07-14 22:03           ` [PATCH] Avoid crashes in "notmuch reply" with gmime 3.0 when reply-to == sender Daniel Kahn Gillmor
2017-07-14 22:13             ` Daniel Kahn Gillmor
2017-07-14 22:53               ` Daniel Kahn Gillmor
2017-07-15 11:47                 ` David Bremner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170714130912.24777-1-dkg@fifthhorseman.net \
    --to=dkg@fifthhorseman.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).