Re: [BUG] Saving attachments containing UTF-8 chars
authorMark Walters <markwalters1009@gmail.com>
Fri, 30 Nov 2012 13:02:00 +0000 (13:02 +0000)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:51:12 +0000 (09:51 -0800)
cb/9c90feb9840dc580bc049785de2aad689674ce [new file with mode: 0644]

diff --git a/cb/9c90feb9840dc580bc049785de2aad689674ce b/cb/9c90feb9840dc580bc049785de2aad689674ce
new file mode 100644 (file)
index 0000000..0db0a8d
--- /dev/null
@@ -0,0 +1,1333 @@
+Return-Path: <m.walters@qmul.ac.uk>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id CA38A431FBC\r
+       for <notmuch@notmuchmail.org>; Fri, 30 Nov 2012 05:02:17 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -1.098\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5\r
+       tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001,\r
+       NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id reRAi81WVNxZ for <notmuch@notmuchmail.org>;\r
+       Fri, 30 Nov 2012 05:02:12 -0800 (PST)\r
+Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6])\r
+       (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id DB645431FAF\r
+       for <notmuch@notmuchmail.org>; Fri, 30 Nov 2012 05:02:11 -0800 (PST)\r
+Received: from smtp.qmul.ac.uk ([138.37.6.40])\r
+       by mail2.qmul.ac.uk with esmtp (Exim 4.71)\r
+       (envelope-from <m.walters@qmul.ac.uk>)\r
+       id 1TeQEF-000145-Il; Fri, 30 Nov 2012 13:02:06 +0000\r
+Received: from 93-97-24-31.zone5.bethere.co.uk ([93.97.24.31] helo=localhost)\r
+       by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69)\r
+       (envelope-from <m.walters@qmul.ac.uk>)\r
+       id 1TeQED-0002sw-KB; Fri, 30 Nov 2012 13:02:03 +0000\r
+From: Mark Walters <markwalters1009@gmail.com>\r
+To: Michael Stapelberg <michael+nm@stapelberg.de>,\r
+       David Bremner <david@tethera.net>, notmuch@notmuchmail.org\r
+Subject: Re: [BUG] Saving attachments containing UTF-8 chars\r
+In-Reply-To: <x6vccn1gwe.fsf@midna.zekjur.net>\r
+References: <x6sj8xiexi.fsf@midna.zekjur.net> <87d2yzvlpj.fsf@zancas.localnet>\r
+       <x6mwxza2yd.fsf@midna.zekjur.net> <87boefv3hu.fsf@qmul.ac.uk>\r
+       <x6vccn1gwe.fsf@midna.zekjur.net>\r
+User-Agent: Notmuch/0.14+81~g9730584 (http://notmuchmail.org) Emacs/23.4.1\r
+       (i486-pc-linux-gnu)\r
+Date: Fri, 30 Nov 2012 13:02:00 +0000\r
+Message-ID: <8738zrutvb.fsf@qmul.ac.uk>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=us-ascii\r
+Content-Transfer-Encoding: quoted-printable\r
+X-Sender-Host-Address: 93.97.24.31\r
+X-QM-SPAM-Info: Sender has good ham record.  :)\r
+X-QM-Body-MD5: 80d625b9fe841b36c308e3e73985e417 (of first 20000 bytes)\r
+X-SpamAssassin-Score: -1.7\r
+X-SpamAssassin-SpamBar: -\r
+X-SpamAssassin-Report: The QM spam filters have analysed this message to\r
+       determine if it is\r
+       spam. We require at least 5.0 points to mark a message as spam.\r
+       This message scored -1.7 points.\r
+       Summary of the scoring: \r
+       * -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\r
+       *      medium trust\r
+       *      [138.37.6.40 listed in list.dnswl.org]\r
+       * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\r
+       provider *      (markwalters1009[at]gmail.com)\r
+       *  0.6 AWL AWL: From: address is in the auto white-list\r
+X-QM-Scan-Virus: ClamAV says the message is clean\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 30 Nov 2012 13:02:18 -0000\r
+\r
+\r
+Hi\r
+\r
+Do you have some patch applied which is outputting=20\r
+"address_match <something>" ?=20\r
+\r
+Best wishes\r
+\r
+Mark\r
+\r
+Michael Stapelberg <michael+nm@stapelberg.de> writes:\r
+\r
+> Hi Mark,\r
+>\r
+> Mark Walters <markwalters1009@gmail.com> writes:\r
+>> I don't think that we expect any tests to fail: they all pass for\r
+>> me. Can you say more about what is failing?\r
+> Sure. I attached the full output of "make test". Let me know if you need\r
+> any more information about my system. My `emacs` is emacs24 24.1+1-4\r
+> from Debian.\r
+>\r
+> --=20\r
+> Best regards,\r
+> Michael\r
+> INFO: using 2 minute timeout for tests\r
+> basic: Testing the test framework itself.\r
+>  PASS   success is reported like this\r
+>  PASS   test runs if prerequisite is satisfied\r
+>  PASS   tests clean up after themselves\r
+>  PASS   tests clean up even after a failure\r
+>  PASS   failure to clean up causes the test to fail\r
+>  PASS   Ensure that all available tests will be run by notmuch-test\r
+>  PASS   Ensure that test output is suppressed unless the test fails\r
+>  PASS   Ensure that -v does not suppress test output\r
+>  PASS   test that mail store was created\r
+>  PASS   mail store should be empty\r
+>  PASS   NOTMUCH_CONFIG is set and points to an existing file\r
+>  PASS   PATH is set to this repository\r
+>\r
+> help-test: Testing online help\r
+>  PASS   notmuch --help\r
+>  PASS   notmuch --help tag\r
+>  PASS   notmuch help\r
+>  PASS   notmuch help tag\r
+>  PASS   notmuch --version\r
+>\r
+> config: Testing "notmuch config"\r
+>  PASS   Get string value\r
+>  PASS   Get list value\r
+>  PASS   Set string value\r
+>  PASS   Set string value again\r
+>  PASS   Set list value\r
+>  PASS   Set list value again\r
+>  PASS   Remove key\r
+>  PASS   Remove non-existent key\r
+>  PASS   List all items\r
+>\r
+> new: Testing "notmuch new" in several variations\r
+>  PASS   No new messages\r
+>  PASS   Single new message\r
+>  PASS   Multiple new messages\r
+>  PASS   No new messages (non-empty DB)\r
+>  PASS   New directories\r
+>  PASS   Alternate inode order\r
+>  PASS   Message moved in\r
+>  PASS   Renamed message\r
+>  PASS   Deleted message\r
+>  PASS   Renamed directory\r
+>  PASS   Deleted directory\r
+>  PASS   New directory (at end of list)\r
+>  PASS   Deleted directory (end of list)\r
+>  PASS   New symlink to directory\r
+>  PASS   New symlink to a file\r
+>  PASS   Broken symlink aborts\r
+>  PASS   New two-level directory\r
+>  PASS   Deleted two-level directory\r
+>  PASS   Support single-message mbox (deprecated)\r
+>  PASS   Skip and report non-mail files\r
+>  PASS   Ignore files and directories specified in new.ignore\r
+>  PASS   Ignore files and directories specified in new.ignore (multiple oc=\r
+currences)\r
+>  PASS   Don't stop for ignored broken symlinks\r
+>\r
+> count: Testing "notmuch count" for messages and threads\r
+>  PASS   message count is the default for notmuch count\r
+>  PASS   message count with --output=3Dmessages\r
+>  PASS   thread count with --output=3Dthreads\r
+>  PASS   thread count is the default for notmuch search\r
+>  PASS   count with no matching messages\r
+>  PASS   count with no matching threads\r
+>\r
+> search: Testing "notmuch search" in several variations\r
+>  PASS   Search body\r
+>  PASS   Search by from:\r
+>  PASS   Search by to:\r
+>  PASS   Search by subject:\r
+>  PASS   Search by subject (utf-8):\r
+>  PASS   Search by id:\r
+>  PASS   Search by tag:\r
+>  PASS   Search by thread:\r
+>  PASS   Search body (phrase)\r
+>  PASS   Search by from: (address)\r
+>  PASS   Search by from: (name)\r
+>  PASS   Search by to: (address)\r
+>  PASS   Search by to: (name)\r
+>  PASS   Search by subject: (phrase)\r
+>  PASS   Search for all messages ("*")\r
+>  PASS   Search body (utf-8):\r
+>\r
+> search-output: Testing various settings for "notmuch search --output=3D"\r
+>  PASS   --output=3Dthreads\r
+>  PASS   --output=3Dthreads --format=3Djson\r
+>  PASS   --output=3Dmessages\r
+>  PASS   --output=3Dmessages --format=3Djson\r
+>  PASS   --output=3Dfiles\r
+>  PASS   --output=3Dfiles --format=3Djson\r
+>  PASS   --output=3Dtags\r
+>  PASS   --output=3Dtags --format=3Djson\r
+>  PASS   sanitize output for quoted-printable line-breaks in author and su=\r
+bject\r
+>  PASS   search for non-existent message prints nothing\r
+>  PASS   search --format=3Djson for non-existent message prints proper emp=\r
+ty json\r
+>\r
+> search-by-folder: Testing "notmuch search" by folder: (with variations)\r
+>  PASS   Single-world folder: specification (multiple results)\r
+>  PASS   Two-word path to narrow results to one\r
+>  PASS   After removing duplicate instance of matching path\r
+>  PASS   After rename, old path returns nothing\r
+>  PASS   After rename, new path returns result\r
+>\r
+> search-position-overlap-bug: Testing that notmuch does not overlap term p=\r
+ositions\r
+>  PASS   Search for a@b.c matches\r
+>  PASS   Search for x@y.z matches\r
+>  PASS   Search for a@y.c must not match\r
+>\r
+> search-insufficient-from-quoting: Testing messages with unquoted . in name\r
+>  PASS   Search by first name\r
+>  PASS   Search by last name:\r
+>  PASS   Search by address:\r
+>  PASS   Search for all messages:\r
+>\r
+> search-limiting: Testing "notmuch search" --offset and --limit parameters\r
+>  PASS   messages: limit does the right thing\r
+>  PASS   messages: concatenation of limited searches\r
+>  PASS   messages: limit larger than result set\r
+>  PASS   messages: limit =3D 0\r
+>  PASS   messages: offset does the right thing\r
+>  PASS   messages: offset =3D 0\r
+>  PASS   messages: negative offset\r
+>  PASS   messages: negative offset\r
+>  PASS   messages: negative offset combined with limit\r
+>  PASS   messages: negative offset combined with equal limit\r
+>  PASS   messages: negative offset combined with large limit\r
+>  PASS   messages: negative offset larger then results\r
+>  PASS   threads: limit does the right thing\r
+>  PASS   threads: concatenation of limited searches\r
+>  PASS   threads: limit larger than result set\r
+>  PASS   threads: limit =3D 0\r
+>  PASS   threads: offset does the right thing\r
+>  PASS   threads: offset =3D 0\r
+>  PASS   threads: negative offset\r
+>  PASS   threads: negative offset\r
+>  PASS   threads: negative offset combined with limit\r
+>  PASS   threads: negative offset combined with equal limit\r
+>  PASS   threads: negative offset combined with large limit\r
+>  PASS   threads: negative offset larger then results\r
+>\r
+> excludes: Testing "notmuch search, count and show" with excludes in sever=\r
+al variations\r
+>  PASS   Search, exclude "deleted" messages from search\r
+>  PASS   Search, exclude "deleted" messages from message search\r
+>  PASS   Search, exclude "deleted" messages from message search --exclude=\r
+=3Dfalse\r
+>  PASS   Search, exclude "deleted" messages from message search (non-exist=\r
+ent exclude-tag)\r
+>  PASS   Search, exclude "deleted" messages from search, overridden\r
+>  PASS   Search, exclude "deleted" messages from threads\r
+>  PASS   Search, don't exclude "deleted" messages when --exclude=3Dflag sp=\r
+ecified\r
+>  PASS   Search, don't exclude "deleted" messages from search if not confi=\r
+gured\r
+>  PASS   Search, default exclusion (thread summary)\r
+>  PASS   Search, default exclusion (messages)\r
+>  PASS   Search, exclude=3Dtrue (thread summary)\r
+>  PASS   Search, exclude=3Dtrue (messages)\r
+>  PASS   Search, exclude=3Dfalse (thread summary)\r
+>  PASS   Search, exclude=3Dfalse (messages)\r
+>  PASS   Search, exclude=3Dflag (thread summary)\r
+>  PASS   Search, exclude=3Dflag (messages)\r
+>  PASS   Search, default exclusion: tag in query (thread summary)\r
+>  PASS   Search, default exclusion: tag in query (messages)\r
+>  PASS   Search, exclude=3Dtrue: tag in query (thread summary)\r
+>  PASS   Search, exclude=3Dtrue: tag in query (messages)\r
+>  PASS   Search, exclude=3Dfalse: tag in query (thread summary)\r
+>  PASS   Search, exclude=3Dfalse: tag in query (messages)\r
+>  PASS   Search, exclude=3Dflag: tag in query (thread summary)\r
+>  PASS   Search, exclude=3Dflag: tag in query (messages)\r
+>  PASS   Count, default exclusion (messages)\r
+>  PASS   Count, default exclusion (threads)\r
+>  PASS   Count, exclude=3Dtrue (messages)\r
+>  PASS   Count, exclude=3Dtrue (threads)\r
+>  PASS   Count, exclude=3Dfalse (messages)\r
+>  PASS   Count, exclude=3Dfalse (threads)\r
+>  PASS   Count, default exclusion: tag in query (messages)\r
+>  PASS   Count, default exclusion: tag in query (threads)\r
+>  PASS   Count, exclude=3Dtrue: tag in query (messages)\r
+>  PASS   Count, exclude=3Dtrue: tag in query (threads)\r
+>  PASS   Count, exclude=3Dfalse: tag in query (messages)\r
+>  PASS   Count, exclude=3Dfalse: tag in query (threads)\r
+>  PASS   Show, default exclusion\r
+>  PASS   Show, default exclusion (entire-thread)\r
+>  PASS   Show, exclude=3Dtrue\r
+>  PASS   Show, exclude=3Dtrue (entire-thread)\r
+>  PASS   Show, exclude=3Dfalse\r
+>  PASS   Show, exclude=3Dfalse (entire-thread)\r
+>\r
+> tagging: Testing "notmuch tag"\r
+>  PASS   Adding tags\r
+>  PASS   Removing tags\r
+>  PASS   No tag operations\r
+>  PASS   No query\r
+>  PASS   Redundant tagging\r
+>  PASS   Special characters in tags\r
+>  PASS   Tagging order\r
+>  PASS   Empty tag names\r
+>  PASS   Tag name beginning with -\r
+>\r
+> json: Testing --format=3Djson output\r
+>  PASS   Show message: json\r
+>  PASS   Show message: json --body=3Dtrue\r
+>  PASS   Show message: json --body=3Dfalse\r
+>  PASS   Search message: json\r
+>  PASS   Show message: json, utf-8\r
+>  PASS   Show message: json, inline attachment filename\r
+>  PASS   Search message: json, utf-8\r
+>\r
+> text: Testing --format=3Dtext output\r
+>  PASS   Show message: text\r
+>  PASS   Search message: text\r
+>  PASS   Show message: text, utf-8\r
+>  PASS   Search message: text, utf-8\r
+>\r
+> multipart: Testing output of multipart message\r
+>  PASS   --format=3Dtext --part=3D0, full message\r
+>  PASS   --format=3Dtext --part=3D1, message body\r
+>  PASS   --format=3Dtext --part=3D2, multipart/mixed\r
+>  PASS   --format=3Dtext --part=3D3, rfc822 part\r
+>  PASS   --format=3Dtext --part=3D4, rfc822's multipart\r
+>  PASS   --format=3Dtext --part=3D5, rfc822's html part\r
+>  PASS   --format=3Dtext --part=3D6, rfc822's text part\r
+>  PASS   --format=3Dtext --part=3D7, inline attachement\r
+>  PASS   --format=3Dtext --part=3D8, plain text part\r
+>  PASS   --format=3Dtext --part=3D9, pgp signature (unverified)\r
+>  PASS   --format=3Dtext --part=3D8, no part, expect error\r
+>  PASS   --format=3Djson --part=3D0, full message\r
+>  PASS   --format=3Djson --part=3D1, message body\r
+>  PASS   --format=3Djson --part=3D2, multipart/mixed\r
+>  PASS   --format=3Djson --part=3D3, rfc822 part\r
+>  PASS   --format=3Djson --part=3D4, rfc822's multipart/alternative\r
+>  PASS   --format=3Djson --part=3D5, rfc822's html part\r
+>  PASS   --format=3Djson --part=3D6, rfc822's text part\r
+>  PASS   --format=3Djson --part=3D7, inline attachment\r
+>  PASS   --format=3Djson --part=3D8, plain text part\r
+>  PASS   --format=3Djson --part=3D9, pgp signature (unverified)\r
+>  PASS   --format=3Djson --part=3D10, no part, expect error\r
+>  PASS   --format=3Draw\r
+>  PASS   --format=3Draw --part=3D0, full message\r
+>  PASS   --format=3Draw --part=3D1, message body\r
+>  PASS   --format=3Draw --part=3D2, multipart/mixed\r
+>  PASS   --format=3Draw --part=3D3, rfc822 part\r
+>  PASS   --format=3Draw --part=3D4, rfc822's multipart\r
+>  PASS   --format=3Draw --part=3D5, rfc822's html part\r
+>  PASS   --format=3Draw --part=3D6, rfc822's text part\r
+>  PASS   --format=3Draw --part=3D7, inline attachment\r
+>  PASS   --format=3Draw --part=3D8, plain text part\r
+>  PASS   --format=3Draw --part=3D9, pgp signature (unverified)\r
+>  PASS   --format=3Draw --part=3D10, no part, expect error\r
+>  PASS   --format=3Dmbox\r
+>  PASS   --format=3Dmbox --part=3D1, incompatible, expect error\r
+>  FAIL   'notmuch reply' to a multipart message\r
+>      --- multipart.37.OUTPUT 2012-11-30 11:12:08.871828702 +0000\r
+>      +++ multipart.37.EXPECTED       2012-11-30 11:12:08.871828702 +0000\r
+>      @@ -1,5 +1,3 @@\r
+>      -address_match(cworth@cworth.org)\r
+>      -address_match(cworth@cworth.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: Multipart message\r
+>       To: Carl Worth <cworth@cworth.org>, cworth@cworth.org\r
+>  FAIL   'notmuch reply' to a multipart message with json format\r
+>      --- multipart.38.expected       2012-11-30 11:12:08.919827944 +0000\r
+>      +++ multipart.38.output 2012-11-30 11:12:08.919827944 +0000\r
+>      @@ -1,89 +1,3 @@\r
+>      -{\r
+>      -    "original": {\r
+>      -        "body": [\r
+>      -            {\r
+>      -                "content": [\r
+>      -                    {\r
+>      -                        "content": [\r
+>      -                            {\r
+>      -                                "content": [\r
+>      -                                    {\r
+>      -                                        "body": [\r
+>      -                                            {\r
+>      -                                                "content": [\r
+>      -                                                    {\r
+>      -                                                        "content-type":=\r
+ "text/html",=20\r
+>      -                                                        "id": 5\r
+>      -                                                    },=20\r
+>      -                                                    {\r
+>      -                                                        "content": "Thi=\r
+s is an embedded message, with a multipart/alternative part.\n",=20\r
+>      -                                                        "content-type":=\r
+ "text/plain",=20\r
+>      -                                                        "id": 6\r
+>      -                                                    }\r
+>      -                                                ],=20\r
+>      -                                                "content-type": "multip=\r
+art/alternative",=20\r
+>      -                                                "id": 4\r
+>      -                                            }\r
+>      -                                        ],=20\r
+>      -                                        "headers": {\r
+>      -                                            "Date": "Fri, 05 Jan 2001 1=\r
+5:42:57 +0000",=20\r
+>      -                                            "From": "Carl Worth <cworth=\r
+@cworth.org>",=20\r
+>      -                                            "Subject": "html message",=\r
+=20\r
+>      -                                            "To": "cworth@cworth.org"\r
+>      -                                        }\r
+>      -                                    }\r
+>      -                                ],=20\r
+>      -                                "content-type": "message/rfc822",=20\r
+>      -                                "id": 3\r
+>      -                            },=20\r
+>      -                            {\r
+>      -                                "content": "This is a text attachment.\=\r
+n",=20\r
+>      -                                "content-type": "text/plain",=20\r
+>      -                                "filename": "YYYYY",=20\r
+>      -                                "id": 7\r
+>      -                            },=20\r
+>      -                            {\r
+>      -                                "content": "And this message is signed.=\r
+\n\n-Carl\n",=20\r
+>      -                                "content-type": "text/plain",=20\r
+>      -                                "id": 8\r
+>      -                            }\r
+>      -                        ],=20\r
+>      -                        "content-type": "multipart/mixed",=20\r
+>      -                        "id": 2\r
+>      -                    },=20\r
+>      -                    {\r
+>      -                        "content-type": "application/pgp-signature",=20\r
+>      -                        "id": 9\r
+>      -                    }\r
+>      -                ],=20\r
+>      -                "content-type": "multipart/signed",=20\r
+>      -                "id": 1\r
+>      -            }\r
+>      -        ],=20\r
+>      -        "date_relative": "2001-01-05",=20\r
+>      -        "excluded": false,=20\r
+>      -        "filename": "YYYYY",=20\r
+>      -        "headers": {\r
+>      -            "Date": "Fri, 05 Jan 2001 15:43:57 +0000",=20\r
+>      -            "From": "Carl Worth <cworth@cworth.org>",=20\r
+>      -            "Subject": "Multipart message",=20\r
+>      -            "To": "cworth@cworth.org"\r
+>      -        },=20\r
+>      -        "id": "XXXXX",=20\r
+>      -        "match": false,=20\r
+>      -        "tags": [\r
+>      -            "attachment",=20\r
+>      -            "inbox",=20\r
+>      -            "signed",=20\r
+>      -            "unread"\r
+>      -        ],=20\r
+>      -        "timestamp": 978709437\r
+>      -    },=20\r
+>      -    "reply-headers": {\r
+>      -        "From": "Notmuch Test Suite <test_suite@notmuchmail.org>",=20\r
+>      -        "In-reply-to": "<87liy5ap00.fsf@yoom.home.cworth.org>",=20\r
+>      -        "References": " <87liy5ap00.fsf@yoom.home.cworth.org>",=20\r
+>      -        "Subject": "Re: Multipart message",=20\r
+>      -        "To": "Carl Worth <cworth@cworth.org>, cworth@cworth.org"\r
+>      -    }\r
+>      -}\r
+>      +address_match(cworth@cworth.org)\r
+>      +address_match(cworth@cworth.org)\r
+>      +{"reply-headers": {"Subject": "Re: Multipart message", "From": "Notmuch=\r
+ Test Suite <test_suite@notmuchmail.org>", "To": "Carl Worth <cworth@cworth=\r
+.org>, cworth@cworth.org", "In-reply-to": "<87liy5ap00.fsf@yoom.home.cworth=\r
+.org>", "References": " <87liy5ap00.fsf@yoom.home.cworth.org>"}, "original"=\r
+: {"id": "XXXXX", "match": false, "excluded": false, "filename": "YYYYY", "=\r
+timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["attachment"=\r
+, "inbox", "signed", "unread"], "headers": {"Subject": "Multipart message",=\r
+ "From": "Carl Worth <cworth@cworth.org>", "To": "cworth@cworth.org", "Date=\r
+": "Fri, 05 Jan 2001 15:43:57 +0000"}, "body": [{"id": 1, "content-type": "=\r
+multipart/signed", "content": [{"id": 2, "content-type": "multipart/mixed",=\r
+ "content": [{"id": 3, "content-type": "message/rfc822", "content": [{"head=\r
+ers": {"Subject": "html message", "From": "Carl Worth <cworth@cworth.org>",=\r
+ "To": "cworth@cworth.org", "Date": "Fri, 05 Jan 2001 15:42:57 +0000"}, "bo=\r
+dy": [{"id": 4, "content-type": "multipart/alternative", "content": [{"id":=\r
+ 5, "content-type": "text/html"}, {"id": 6, "content-type": "text/plain", "=\r
+content": "This is an embedded message, with a multipart/alternative part.\=\r
+n"}]}]}]}, {"id": 7, "content-type": "text/plain", "filename": "YYYYY", "co=\r
+ntent": "This is a text attachment.\n"}, {"id": 8, "content-type": "text/pl=\r
+ain", "content": "And this message is signed.\n\n-Carl\n"}]}, {"id": 9, "co=\r
+ntent-type": "application/pgp-signature"}]}]}}\r
+> No JSON object could be decoded\r
+>  PASS   'notmuch show --part' does not corrupt a part with CRLF pair\r
+>\r
+> thread-naming: Testing naming of threads with changing subject\r
+>  PASS   Initial thread name (oldest-first search)\r
+>  PASS   Initial thread name (newest-first search)\r
+>  PASS   Changed thread name (oldest-first search)\r
+>  PASS   Changed thread name (newest-first search)\r
+>  PASS   Ignore added reply prefix (Re:)\r
+>  PASS   Ignore added reply prefix (Aw:)\r
+>  PASS   Ignore added reply prefix (Vs:)\r
+>  PASS   Ignore added reply prefix (Sv:)\r
+>  PASS   Test order of messages in "notmuch show"\r
+>\r
+> raw: Testing notmuch show --format=3Draw\r
+>  PASS   Attempt to show multiple raw messages\r
+>  PASS   Show a raw message\r
+>  PASS   Show another raw message\r
+>\r
+> reply: Testing "notmuch reply" in several variations\r
+>  FAIL   Basic reply\r
+>      --- reply.1.expected    2012-11-30 11:12:09.207823395 +0000\r
+>      +++ reply.1.output      2012-11-30 11:12:09.207823395 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   Multiple recipients\r
+>      --- reply.2.expected    2012-11-30 11:12:09.223823144 +0000\r
+>      +++ reply.2.output      2012-11-30 11:12:09.223823144 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(someone@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, Someone Else <someone@example.com>\r
+>  FAIL   Reply with CC\r
+>      --- reply.3.expected    2012-11-30 11:12:09.239822892 +0000\r
+>      +++ reply.3.output      2012-11-30 11:12:09.239822892 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(cc@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   Reply from alternate address\r
+>      --- reply.4.expected    2012-11-30 11:12:09.259822574 +0000\r
+>      +++ reply.4.output      2012-11-30 11:12:09.259822574 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   Reply from address in named group list\r
+>      --- reply.5.expected    2012-11-30 11:12:09.275822323 +0000\r
+>      +++ reply.5.output      2012-11-30 11:12:09.275822323 +0000\r
+>      @@ -1,3 +1,7 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(someone@example.com)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, someone@example.com\r
+>  FAIL   Support for Reply-To\r
+>      --- reply.6.expected    2012-11-30 11:12:09.291822071 +0000\r
+>      +++ reply.6.output      2012-11-30 11:12:09.291822071 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(elsewhere@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <elsewhere@example.com>\r
+>  FAIL   Un-munging Reply-To\r
+>      --- reply.7.expected    2012-11-30 11:12:09.307821818 +0000\r
+>      +++ reply.7.output      2012-11-30 11:12:09.307821818 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(list@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, Some List <list@example.com>\r
+>  FAIL   Message with header of exactly 200 bytes\r
+>      --- reply.8.expected    2012-11-30 11:12:09.323821564 +0000\r
+>      +++ reply.8.output      2012-11-30 11:12:09.323821564 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: This subject is exactly 200 bytes in length. Other than it=\r
+s length there is not much of note here. Note that the length of 200 bytes =\r
+includes the Subject: and Re: prefixes with two spaces\r
+>       In-Reply-To: <msg-008@notmuch-test-suite>\r
+>  FAIL   From guessing: Envelope-To\r
+>      --- reply.9.expected    2012-11-30 11:12:09.339821311 +0000\r
+>      +++ reply.9.output      2012-11-30 11:12:09.339821311 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(recipient@example.com)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: From guessing\r
+>       To: Sender <sender@example.com>, Recipient <recipient@example.com>\r
+>  FAIL   From guessing: X-Original-To\r
+>      --- reply.10.expected   2012-11-30 11:12:09.359820997 +0000\r
+>      +++ reply.10.output     2012-11-30 11:12:09.359820997 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(recipient@example.com)\r
+>      +address_match(test_suite@otherdomain.org)\r
+>       From: Notmuch Test Suite <test_suite@otherdomain.org>\r
+>       Subject: Re: From guessing\r
+>       To: Sender <sender@example.com>, Recipient <recipient@example.com>\r
+>  FAIL   From guessing: Delivered-To\r
+>      --- reply.11.expected   2012-11-30 11:12:09.375820743 +0000\r
+>      +++ reply.11.output     2012-11-30 11:12:09.375820743 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(recipient@example.com)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: From guessing\r
+>       To: Sender <sender@example.com>, Recipient <recipient@example.com>\r
+>\r
+> reply-to-sender: Testing "notmuch reply --reply-to=3Dsender" in several v=\r
+ariations\r
+>  FAIL   Basic reply-to-sender\r
+>      --- reply-to-sender.1.expected  2012-11-30 11:12:09.419820050 +0000\r
+>      +++ reply-to-sender.1.output    2012-11-30 11:12:09.419820050 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   From Us, Basic reply to message\r
+>      --- reply-to-sender.2.expected  2012-11-30 11:12:09.439819734 +0000\r
+>      +++ reply-to-sender.2.output    2012-11-30 11:12:09.439819734 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(recipient@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Recipient <recipient@example.com>\r
+>  FAIL   Multiple recipients\r
+>      --- reply-to-sender.3.expected  2012-11-30 11:12:09.455819480 +0000\r
+>      +++ reply-to-sender.3.output    2012-11-30 11:12:09.455819480 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(someone@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   From Us, Multiple TO recipients\r
+>      --- reply-to-sender.4.expected  2012-11-30 11:12:09.475819164 +0000\r
+>      +++ reply-to-sender.4.output    2012-11-30 11:12:09.475819164 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(recipient@example.com)\r
+>      +address_match(someone@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Recipient <recipient@example.com>, Someone Else <someone@example.co=\r
+m>\r
+>  FAIL   Reply with CC\r
+>      --- reply-to-sender.5.expected  2012-11-30 11:12:09.491818913 +0000\r
+>      +++ reply-to-sender.5.output    2012-11-30 11:12:09.491818913 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   From Us, Reply with CC\r
+>      --- reply-to-sender.6.expected  2012-11-30 11:12:09.507818659 +0000\r
+>      +++ reply-to-sender.6.output    2012-11-30 11:12:09.507818659 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(recipient@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Recipient <recipient@example.com>\r
+>  FAIL   From Us, Reply no TO but with CC\r
+>      --- reply-to-sender.7.expected  2012-11-30 11:12:09.523818406 +0000\r
+>      +++ reply-to-sender.7.output    2012-11-30 11:12:09.523818406 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(cc@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       Cc: Other Parties <cc@example.com>\r
+>  FAIL   Reply from alternate address\r
+>      --- reply-to-sender.8.expected  2012-11-30 11:12:09.539818155 +0000\r
+>      +++ reply-to-sender.8.output    2012-11-30 11:12:09.539818155 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   Support for Reply-To\r
+>      --- reply-to-sender.9.expected  2012-11-30 11:12:09.559817838 +0000\r
+>      +++ reply-to-sender.9.output    2012-11-30 11:12:09.559817838 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(elsewhere@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <elsewhere@example.com>\r
+>  FAIL   Support for Reply-To with multiple recipients\r
+>      --- reply-to-sender.10.expected 2012-11-30 11:12:09.575817588 +0000\r
+>      +++ reply-to-sender.10.output   2012-11-30 11:12:09.575817588 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(elsewhere@example.com)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(someone@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <elsewhere@example.com>\r
+>  FAIL   Un-munging Reply-To\r
+>      --- reply-to-sender.11.expected 2012-11-30 11:12:09.591817332 +0000\r
+>      +++ reply-to-sender.11.output   2012-11-30 11:12:09.591817332 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(list@example.com)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>\r
+>  FAIL   Message with header of exactly 200 bytes\r
+>      --- reply-to-sender.12.expected 2012-11-30 11:12:09.611817017 +0000\r
+>      +++ reply-to-sender.12.output   2012-11-30 11:12:09.611817017 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: This subject is exactly 200 bytes in length. Other than it=\r
+s length there is not much of note here. Note that the length of 200 bytes =\r
+includes the Subject: and Re: prefixes with two spaces\r
+>       In-Reply-To: <msg-012@notmuch-test-suite>\r
+>\r
+> dump-restore: Testing "notmuch dump" and "notmuch restore"\r
+>  PASS   Dumping all tags\r
+>  PASS   Dumping all tags II\r
+>  PASS   Clearing all tags\r
+>  PASS   Accumulate original tags\r
+>  PASS   Restoring original tags\r
+>  PASS   Restore with nothing to do\r
+>  PASS   Accumulate with existing tags\r
+>  PASS   Accumulate with no tags\r
+>  PASS   Accumulate with new tags\r
+>  PASS   Invalid restore invocation\r
+>  PASS   dump --output=3Doutfile\r
+>  PASS   dump --output=3Doutfile --\r
+>  PASS   dump -- from:cworth\r
+>  PASS   dump --output=3Doutfile from:cworth\r
+>  PASS   dump --output=3Doutfile -- from:cworth\r
+>\r
+> uuencode: Testing handling of uuencoded data\r
+>  PASS   Ensure content before uu data is indexed\r
+>  PASS   Ensure uu data is not indexed\r
+>  PASS   Ensure content after uu data is indexed\r
+>\r
+> thread-order: Testing threading when messages received out of order\r
+>  PASS   Adding initial child message\r
+>  PASS   Searching returns the message\r
+>  PASS   Adding second child message\r
+>  PASS   Searching returns both messages in one thread\r
+>  PASS   Adding parent message\r
+>  PASS   Searching returns all three messages in one thread\r
+>\r
+> author-order: Testing author reordering;\r
+>  PASS   Adding parent message\r
+>  PASS   Adding initial child message\r
+>  PASS   Adding second child message\r
+>  PASS   Searching when all three messages match\r
+>  PASS   Searching when two messages match\r
+>  PASS   Searching when only one message matches\r
+>  PASS   Searching when only first message matches\r
+>  PASS   Adding duplicate author\r
+>  PASS   Searching when all four messages match\r
+>  PASS   Adding non-monotonic child message\r
+>  PASS   Searching non-monotonic messages (oldest-first)\r
+>  PASS   Searching non-monotonic messages (newest-first)\r
+>\r
+> from-guessing: Testing From line heuristics (with multiple configured add=\r
+resses)\r
+>  FAIL   Magic from guessing (nothing to go on)\r
+>      --- from-guessing.1.expected    2012-11-30 11:12:10.251806912 +0000\r
+>      +++ from-guessing.1.output      2012-11-30 11:12:10.251806912 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Envelope-to:)\r
+>      --- from-guessing.2.expected    2012-11-30 11:12:10.271806599 +0000\r
+>      +++ from-guessing.2.output      2012-11-30 11:12:10.271806599 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (X-Original-To:)\r
+>      --- from-guessing.3.expected    2012-11-30 11:12:10.287806344 +0000\r
+>      +++ from-guessing.3.output      2012-11-30 11:12:10.287806344 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Received: .. for ..)\r
+>      --- from-guessing.4.expected    2012-11-30 11:12:10.307806030 +0000\r
+>      +++ from-guessing.4.output      2012-11-30 11:12:10.307806030 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010=\r
+ 07:54:51 -0400 (EDT))\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Received: domain)\r
+>      --- from-guessing.5.expected    2012-11-30 11:12:10.323805778 +0000\r
+>      +++ from-guessing.5.output      2012-11-30 11:12:10.323805778 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(otherdomain.org)\r
+>       From: Notmuch Test Suite <test_suite@otherdomain.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (multiple Received: headers)\r
+>      --- from-guessing.6.expected    2012-11-30 11:12:10.339805525 +0000\r
+>      +++ from-guessing.6.output      2012-11-30 11:12:10.339805525 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010=\r
+ 07:54:51 -0400 (EDT) from extraneous.example.com (extraneous.example.com [=\r
+1.1.1.1]))\r
+>       From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  PASS   Testing From line heuristics (with single configured address)\r
+>  FAIL   Magic from guessing (nothing to go on)\r
+>      --- from-guessing.8.expected    2012-11-30 11:12:10.359805207 +0000\r
+>      +++ from-guessing.8.output      2012-11-30 11:12:10.359805207 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Envelope-to:)\r
+>      --- from-guessing.9.expected    2012-11-30 11:12:10.375804955 +0000\r
+>      +++ from-guessing.9.output      2012-11-30 11:12:10.375804955 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (X-Original-To:)\r
+>      --- from-guessing.10.expected   2012-11-30 11:12:10.395804641 +0000\r
+>      +++ from-guessing.10.output     2012-11-30 11:12:10.395804641 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(test_suite_other@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Received: .. for ..)\r
+>      --- from-guessing.11.expected   2012-11-30 11:12:10.419804262 +0000\r
+>      +++ from-guessing.11.output     2012-11-30 11:12:10.419804262 +0000\r
+>      @@ -1,3 +1,7 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010=\r
+ 07:54:51 -0400 (EDT))\r
+>      +address_match(notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>  FAIL   Magic from guessing (Received: domain)\r
+>      --- from-guessing.12.expected   2012-11-30 11:12:10.435804008 +0000\r
+>      +++ from-guessing.12.output     2012-11-30 11:12:10.435804008 +0000\r
+>      @@ -1,3 +1,6 @@\r
+>      +address_match(sender@example.com)\r
+>      +address_match(mailinglist@notmuchmail.org)\r
+>      +address_match(otherdomain.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: notmuch-reply-test\r
+>       To: Sender <sender@example.com>, mailinglist@notmuchmail.org\r
+>\r
+> long-id: Testing messages with ridiculously-long message IDs\r
+>  PASS   Referencing long ID before adding\r
+>  PASS   Adding message with long ID\r
+>  PASS   Referencing long ID after adding\r
+>  PASS   Ensure all messages were threaded together\r
+>\r
+> encoding: Testing encoding issues\r
+>  PASS   Message with text of unknown charset\r
+>  PASS   Search for ISO-8859-2 encoded message\r
+>\r
+> emacs: Testing emacs interface\r
+>  PASS   Basic notmuch-hello view in emacs\r
+>  PASS   Saved search with 0 results\r
+>  PASS   No saved searches displayed (all with 0 results)\r
+>  PASS   Basic notmuch-search view in emacs\r
+>  PASS   Incremental parsing of search results\r
+>  PASS   Navigation of notmuch-hello to search results\r
+>  PASS   Basic notmuch-show view in emacs\r
+>  PASS   Basic notmuch-show view in emacs default indentation\r
+>  PASS   Basic notmuch-show view in emacs without indentation\r
+>  PASS   Basic notmuch-show view in emacs with fourfold indentation\r
+>  PASS   notmuch-show for message with invalid From\r
+>  PASS   Navigation of notmuch-search to thread view\r
+>  PASS   Add tag from search view\r
+>  PASS   Remove tag from search view\r
+>  PASS   Add tag from notmuch-show view\r
+>  PASS   Remove tag from notmuch-show view\r
+>  PASS   Message with .. in Message-Id:\r
+>  PASS   Message with quote in Message-Id:\r
+>  PASS   Sending a message via (fake) SMTP\r
+>  PASS   Verify that sent messages are saved/searchable (via FCC)\r
+>  PASS   notmuch-fcc-dirs set to nil\r
+>  PASS   notmuch-fcc-dirs set to a string\r
+>  PASS   notmuch-fcc-dirs set to a list (with match)\r
+>  PASS   notmuch-fcc-dirs set to a list (catch-all)\r
+>  PASS   notmuch-fcc-dirs set to a list (no match)\r
+>  FAIL   Reply within emacs\r
+>      --- emacs.26.OUTPUT     2012-11-30 11:12:15.551723246 +0000\r
+>      +++ emacs.26.EXPECTED   2012-11-30 11:12:15.551723246 +0000\r
+>      @@ -0,0 +1,11 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To: user@example.com\r
+>      +Subject: Re: Testing message sent via SMTP\r
+>      +In-Reply-To: <XXX>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <XXX>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Notmuch Test Suite <test_suite@notmuchmail.org> writes:\r
+>      +\r
+>      +> This is a test that messages are sent via SMTP\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Reply from alternate address within emacs\r
+>      --- emacs.27.OUTPUT     2012-11-30 11:12:15.679721226 +0000\r
+>      +++ emacs.27.EXPECTED   2012-11-30 11:12:15.683721161 +0000\r
+>      @@ -0,0 +1,11 @@\r
+>      +From: Notmuch Test Suite <test_suite_other@notmuchmail.org>\r
+>      +To: Sender <sender@example.com>\r
+>      +Subject: Re: Reply from alternate address within emacs\r
+>      +In-Reply-To: <msg-004@notmuch-test-suite>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <msg-004@notmuch-test-suite>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Sender <sender@example.com> writes:\r
+>      +\r
+>      +> This is just a test message (#4)\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Reply from address in named group list within emacs\r
+>      --- emacs.28.OUTPUT     2012-11-30 11:12:15.807719203 +0000\r
+>      +++ emacs.28.EXPECTED   2012-11-30 11:12:15.811719142 +0000\r
+>      @@ -0,0 +1,11 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To: Sender <sender@example.com>, someone@example.com\r
+>      +Subject: Re: Reply from address in named group list within emacs\r
+>      +In-Reply-To: <msg-005@notmuch-test-suite>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <msg-005@notmuch-test-suite>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Sender <sender@example.com> writes:\r
+>      +\r
+>      +> This is just a test message (#5)\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Reply within emacs to a multipart/mixed message\r
+>      --- emacs.29.OUTPUT     2012-11-30 11:12:15.859718382 +0000\r
+>      +++ emacs.29.EXPECTED   2012-11-30 11:12:15.859718382 +0000\r
+>      @@ -0,0 +1,53 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To: Adrian Perez de Castro <aperez@igalia.com>, notmuch@notmuchmail.org\r
+>      +Subject: Re: [notmuch] Introducing myself\r
+>      +In-Reply-To: <20091118002059.067214ed@hikari>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <20091118002059.067214ed@hikari>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Adrian Perez de Castro <aperez@igalia.com> writes:\r
+>      +\r
+>      +> Hello to all,\r
+>      +>\r
+>      +> I have just heard about Not Much today in some random Linux-related n=\r
+ews\r
+>      +> site (LWN?), my name is Adrian Perez and I work as systems administra=\r
+tor\r
+>      +> (although I can do some code as well :P). I have always thought that =\r
+the\r
+>      +> ideas behind Sup were great, but after some time using it, I got tire=\r
+d of\r
+>      +> the oddities that it has. I also do not like doing things like having=\r
+ to\r
+>      +> install Ruby just for reading and sorting mails. Some time ago I thou=\r
+ght\r
+>      +> about doing something like Not Much and in fact I played a bit with t=\r
+he\r
+>      +> Python+Xapian and the Python+Whoosh combinations, because I find rela=\r
+xing\r
+>      +> to code things in Python when I am not working and also it is install=\r
+ed\r
+>      +> by default on most distribution. I got to have some mailboxes indexed=\r
+ and\r
+>      +> basic searching working a couple of months ago. Lately I have been ve=\r
+ry\r
+>      +> busy and had no time for coding, and them... boom! Not Much appears -=\r
+- and\r
+>      +> it is almost exactly what I was trying to do, but faster. I have been\r
+>      +> playing a bit with Not Much today, and I think it has potential.\r
+>      +>\r
+>      +> Also, I would like to share one idea I had in mind, that you might fi=\r
+nd\r
+>      +> interesting: One thing I have found very annoying is having to re-tag=\r
+ my\r
+>      +> mail when the indexes get b0rked (it happened a couple of times to me=\r
+ while\r
+>      +> using Sup), so I was planning to mails as read/unread and adding the =\r
+tags\r
+>      +> not just to the index, but to the mail text itself, e.g. by adding a\r
+>      +> "X-Tags" header field or by reusing the "Keywords" one. This way, the=\r
+ index\r
+>      +> could be totally recreated by re-reading the mail directories, and th=\r
+is\r
+>      +> would also allow to a tools like OfflineIMAP [1] to get the mails int=\r
+o a\r
+>      +> local maildir, tagging and indexing the mails with the e-mail reader =\r
+and\r
+>      +> then syncing back the messages with the "X-Tags" header to the IMAP s=\r
+erver.\r
+>      +> This would allow to use the mail reader from a different computer and=\r
+ still\r
+>      +> have everything tagged finely.\r
+>      +>\r
+>      +> Best regards,\r
+>      +>\r
+>      +>\r
+>      +> ---\r
+>      +> [1] http://software.complete.org/software/projects/show/offlineimap\r
+>      +>\r
+>      +> --=20\r
+>      +> Adrian Perez de Castro <aperez@igalia.com>\r
+>      +> Igalia - Free Software Engineering\r
+>      +> _______________________________________________\r
+>      +> notmuch mailing list\r
+>      +> notmuch@notmuchmail.org\r
+>      +> http://notmuchmail.org/mailman/listinfo/notmuch\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Reply within emacs to a multipart/alternative message\r
+>      --- emacs.30.OUTPUT     2012-11-30 11:12:16.067715102 +0000\r
+>      +++ emacs.30.EXPECTED   2012-11-30 11:12:16.067715102 +0000\r
+>      @@ -0,0 +1,30 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To: Alex Botero-Lowry <alex.boterolowry@gmail.com>, notmuch@notmuchmail=\r
+.org\r
+>      +Subject: Re: [notmuch] preliminary FreeBSD support\r
+>      +In-Reply-To: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.c=\r
+om>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.co=\r
+m>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Alex Botero-Lowry <alex.boterolowry@gmail.com> writes:\r
+>      +\r
+>      +> I saw the announcement this morning, and was very excited, as I had b=\r
+een\r
+>      +> hoping sup would be turned into a library,\r
+>      +> since I like the concept more than the UI (I'd rather an emacs interf=\r
+ace).\r
+>      +>\r
+>      +> I did a preliminary compile which worked out fine, but\r
+>      +> sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on\r
+>      +> FreeBSD, so notmuch_config_open segfaulted.\r
+>      +>\r
+>      +> Attached is a patch that supplies a default buffer size of 64 in case=\r
+s where\r
+>      +> -1 is returned.\r
+>      +>\r
+>      +> http://www.opengroup.org/austin/docs/austin_328.txt - seems to indica=\r
+te this\r
+>      +> is acceptable behavior,\r
+>      +> and http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.htm=\r
+lspecifically\r
+>      +> uses 64 as the\r
+>      +> buffer size.\r
+>      +> _______________________________________________\r
+>      +> notmuch mailing list\r
+>      +> notmuch@notmuchmail.org\r
+>      +> http://notmuchmail.org/mailman/listinfo/notmuch\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Reply within emacs to an html-only message\r
+>      --- emacs.31.OUTPUT     2012-11-30 11:12:16.111714404 +0000\r
+>      +++ emacs.31.EXPECTED   2012-11-30 11:12:16.111714404 +0000\r
+>      @@ -0,0 +1,11 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To:=20\r
+>      +Subject: Re: Reply within emacs to an html-only message\r
+>      +In-Reply-To: <msg-006@notmuch-test-suite>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <msg-006@notmuch-test-suite>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Notmuch Test Suite <test_suite@notmuchmail.org> writes:\r
+>      +\r
+>      +> Hi,This is an HTML test message.OK?\r
+> *ERROR*: JSON readtable error\r
+>  FAIL   Quote MML tags in reply\r
+>      --- emacs.32.OUTPUT     2012-11-30 11:12:16.147713838 +0000\r
+>      +++ emacs.32.EXPECTED   2012-11-30 11:12:16.151713776 +0000\r
+>      @@ -0,0 +1,11 @@\r
+>      +From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>      +To:=20\r
+>      +Subject: Re: Quote MML tags in reply\r
+>      +In-Reply-To: <test-emacs-mml-quoting@message.id>\r
+>      +Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent\r
+>      +References: <test-emacs-mml-quoting@message.id>\r
+>      +User-Agent: Notmuch/XXX Emacs/XXX\r
+>      +--text follows this line--\r
+>      +Notmuch Test Suite <test_suite@notmuchmail.org> writes:\r
+>      +\r
+>      +> <#!part disposition=3Dinline>\r
+> *ERROR*: JSON readtable error\r
+>  PASS   Save attachment from within emacs using notmuch-show-save-attachm=\r
+ents\r
+>  PASS   Save attachment from within emacs using notmuch-show-save-part\r
+>  PASS   Save 8bit attachment from within emacs using notmuch-show-save-at=\r
+tachments\r
+>  PASS   View raw message within emacs\r
+>  PASS   Hiding/showing signature in notmuch-show view\r
+>  PASS   Detection and hiding of top-post quoting of message\r
+>  PASS   Hiding message in notmuch-show view\r
+>  PASS   Hiding message with visible citation in notmuch-show view\r
+>  PASS   notmuch-show: show message headers\r
+>  PASS   notmuch-show: hide message headers\r
+>  PASS   notmuch-show: hide message headers (w/ notmuch-show-toggle-visibi=\r
+lity-headers)\r
+>  PASS   notmuch-show: collapse all messages in thread\r
+>  PASS   notmuch-show: uncollapse all messages in thread\r
+>  PASS   Stashing in notmuch-show\r
+>  PASS   Stashing in notmuch-search\r
+>  PASS   notmuch-show-advance-and-archive with invisible signature\r
+>  PASS   Refresh show buffer\r
+>  PASS   Refresh modified show buffer\r
+>  PASS   Do not call notmuch for non-inlinable application/mpeg parts\r
+>  PASS   Do not call notmuch for non-inlinable audio/mpeg parts\r
+>  PASS   notmuch-hello-mode hook is called\r
+>  PASS   notmuch-hello-mode hook is not called on updates\r
+>  PASS   notmuch-hello-refresh hook is called\r
+>  PASS   notmuch-hello-refresh hook is called on updates\r
+>  PASS   Rendering HTML mail with images\r
+>\r
+> emacs-large-search-buffer: Testing Emacs with large search results buffer\r
+>  PASS   Ensure that emacs doesn't drop results\r
+>  PASS   Ensure that emacs doesn't drop error messages\r
+>\r
+> emacs-subject-to-filename: Testing emacs: mail subject to filename\r
+>  PASS   no patch sequence number\r
+>  PASS   patch sequence number #1\r
+>  PASS   patch sequence number #2\r
+>  PASS   patch sequence number #3\r
+>  PASS   patch sequence number #4\r
+>  PASS   patch sequence number #5\r
+>  PASS   patch sequence number #6\r
+>  PASS   patch sequence number #7\r
+>  PASS   filename #1\r
+>  PASS   filename #2\r
+>  PASS   filename #3\r
+>  PASS   filename #4\r
+>  PASS   filename #5\r
+>  PASS   filename #6\r
+>  PASS   filename #7\r
+>  PASS   filename #8\r
+>  PASS   filename #9\r
+>  PASS   patch filename #1\r
+>  PASS   patch filename #2\r
+>  PASS   patch filename #3\r
+>  PASS   patch filename #4\r
+>\r
+> maildir-sync: Testing maildir synchronization\r
+>  PASS   Adding 'S' flag to existing filename removes 'unread' tag\r
+>  PASS   Adding message with 'S' flag prevents 'unread' tag\r
+>  PASS   Adding 'replied' tag adds 'R' flag to filename\r
+>  PASS   notmuch show works with renamed file (without notmuch new)\r
+>  PASS   notmuch reply works with renamed file (without notmuch new)\r
+>  PASS   notmuch new detects no file rename after tag->flag synchronization\r
+>  PASS   When read, message moved from new to cur\r
+>  PASS   No rename should be detected by notmuch new\r
+>  PASS   Removing 'S' flag from existing filename adds 'unread' tag\r
+>  PASS   Removing info from filename leaves tags unchanged\r
+>  PASS   Can remove unread tag from message in non-maildir directory\r
+>  PASS   Message in non-maildir directory does not get renamed\r
+>  PASS   notmuch dump/restore re-synchronizes maildir tags with flags\r
+>  PASS   Adding flags to duplicate message tags the mail\r
+>  PASS   Adding duplicate message without flags does not remove tags\r
+>  PASS   Tag changes modify flags of multiple files\r
+>  PASS   Synchronizing tag changes preserves unsupported maildir flags\r
+>  PASS   A file with non-compliant maildir info will not be renamed\r
+>  PASS   Files in new/ get default synchronized tags\r
+>\r
+> crypto: Testing PGP/MIME signature verification and decryption\r
+>  PASS   emacs delivery of signed message\r
+>  PASS   signature verification\r
+>  PASS   signature verification with full owner trust\r
+>  PASS   signature verification with signer key unavailable\r
+>  PASS   emacs delivery of encrypted message with attachment\r
+>  PASS   decryption, --format=3Dtext\r
+>  PASS   decryption, --format=3Djson\r
+>  PASS   decryption, --format=3Djson, --part=3D4\r
+>  PASS   decrypt attachment (--part=3D5 --format=3Draw)\r
+>  PASS   decryption failure with missing key\r
+>  PASS   emacs delivery of encrypted + signed message\r
+>  PASS   decryption + signature verification\r
+>  FAIL   reply to encrypted message\r
+>      --- crypto.13.expected  2012-11-30 11:12:30.559486390 +0000\r
+>      +++ crypto.13.output    2012-11-30 11:12:30.559486390 +0000\r
+>      @@ -1,3 +1,5 @@\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>      +address_match(test_suite@notmuchmail.org)\r
+>       From: Notmuch Test Suite <test_suite@notmuchmail.org>\r
+>       Subject: Re: test encrypted message 002\r
+>=20=09=20\r
+>  PASS   signature verification with revoked key\r
+>\r
+> symbol-hiding: Testing exception symbol hiding\r
+>  PASS   running test\r
+>  PASS   checking output\r
+>  PASS   comparing existing to exported symbols\r
+>\r
+> search-folder-coherence: Testing folder tags removed and added through fi=\r
+le renames remain consistent\r
+>  PASS   No new messages\r
+>  PASS   Single new message\r
+>  PASS   Add second folder for same message\r
+>  PASS   Multiple files for same message\r
+>  PASS   Test matches folder:spam\r
+>  PASS   Remove folder:spam copy of email\r
+>  PASS   No mails match the folder:spam search\r
+>\r
+> atomicity: Testing atomicity\r
+>  PASS   "notmuch new" is idempotent under arbitrary aborts\r
+>  PASS   detected 22>10 abort points\r
+>\r
+> python: Testing python bindings\r
+>  PASS   compare thread ids\r
+>  PASS   compare message ids\r
+>  PASS   get non-existent file\r
+>\r
+> hooks: Testing hooks\r
+>  PASS   pre-new is run\r
+>  PASS   post-new is run\r
+>  PASS   pre-new is run before post-new\r
+>  PASS   pre-new non-zero exit status (hook status)\r
+>  PASS   pre-new non-zero exit status (notmuch status)\r
+>  PASS   pre-new non-zero exit status aborts new\r
+>  PASS   post-new non-zero exit status (hook status)\r
+>  PASS   post-new non-zero exit status (notmuch status)\r
+>  PASS   hook without executable permissions\r
+>  PASS   hook execution failure\r
+>\r
+> argument-parsing: Testing argument parsing\r
+>  PASS   sanity check\r
+>\r
+> emacs-test-functions: Testing emacs test function sanity\r
+>  PASS   emacs test function sanity\r
+>\r
+> emacs-address-cleaning: Testing emacs address cleaning\r
+>  PASS   notmuch-test-address-clean part 1\r
+>  PASS   notmuch-test-address-clean part 2\r
+>  PASS   notmuch-test-address-clean part 3\r
+>\r
+> emacs-hello: Testing emacs notmuch-hello view\r
+>  PASS   User-defined section with inbox tag\r
+>  PASS   User-defined section with empty, hidden entry\r
+>  PASS   User-defined section, unread tag filtered out\r
+>  PASS   User-defined section, different query for counts\r
+>  PASS   Empty custom tags section\r
+>  PASS   Empty custom queries section\r
+>  PASS   Column alignment for tag/queries with long names\r
+>\r
+> emacs-show: Testing emacs notmuch-show view\r
+>  PASS   Hiding Original Message region at beginning of a message\r
+>  PASS   Bare subject #1\r
+>  PASS   Bare subject #2\r
+>  PASS   Bare subject #3\r
+>  PASS   don't process cryptographic MIME parts\r
+>  PASS   process cryptographic MIME parts\r
+>  PASS   process cryptographic MIME parts (w/ notmuch-show-toggle-process-=\r
+crypto)\r
+>  PASS   notmuch-show: don't elide non-matching messages\r
+>  PASS   notmuch-show: elide non-matching messages\r
+>  PASS   notmuch-show: elide non-matching messages (w/ notmuch-show-toggle=\r
+-elide-non-matching)\r
+>  PASS   notmuch-show: elide non-matching messages (w/ prefix arg to notmu=\r
+ch-show)\r
+>  PASS   notmuch-show: disable indentation of thread content (w/ notmuch-s=\r
+how-toggle-thread-indentation)\r
+>  PASS   id buttonization\r
+>\r
+> missing-headers: Testing messages with missing headers\r
+> Added 2 new messages to the database.\r
+>  PASS   Search: text\r
+>  PASS   Search: json\r
+>  PASS   Show: text\r
+>  PASS   Show: json\r
+>\r
+> parse-time-string: Testing date/time parser module\r
+>  PASS   date(1) default format without TZ code\r
+>  PASS   date(1) --rfc-2822 format\r
+>  PASS   date(1) --rfc=3D3339=3Dseconds format\r
+>  PASS   Date parser tests\r
+>\r
+> search-date: Testing date:since..until queries\r
+>  PASS   Absolute date range\r
+>  PASS   Absolute time range with TZ\r
+>\r
+> Notmuch test suite complete.\r
+> 437/481 tests passed.\r
+> 44 tests failed.\r