--- /dev/null
+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