Re: [BUG] Saving attachments containing UTF-8 chars

Subject: Re: [BUG] Saving attachments containing UTF-8 chars

Date: Fri, 30 Nov 2012 13:02:00 +0000

To: Michael Stapelberg, David Bremner, notmuch@notmuchmail.org

Cc:

From: Mark Walters


Hi

Do you have some patch applied which is outputting 
"address_match <something>" ? 

Best wishes

Mark

Michael Stapelberg <michael+nm@stapelberg.de> writes:

> Hi Mark,
>
> Mark Walters <markwalters1009@gmail.com> writes:
>> I don't think that we expect any tests to fail: they all pass for
>> me. Can you say more about what is failing?
> Sure. I attached the full output of "make test". Let me know if you need
> any more information about my system. My `emacs` is emacs24 24.1+1-4
> from Debian.
>
> -- 
> Best regards,
> Michael
> INFO: using 2 minute timeout for tests
> basic: Testing the test framework itself.
>  PASS   success is reported like this
>  PASS   test runs if prerequisite is satisfied
>  PASS   tests clean up after themselves
>  PASS   tests clean up even after a failure
>  PASS   failure to clean up causes the test to fail
>  PASS   Ensure that all available tests will be run by notmuch-test
>  PASS   Ensure that test output is suppressed unless the test fails
>  PASS   Ensure that -v does not suppress test output
>  PASS   test that mail store was created
>  PASS   mail store should be empty
>  PASS   NOTMUCH_CONFIG is set and points to an existing file
>  PASS   PATH is set to this repository
>
> help-test: Testing online help
>  PASS   notmuch --help
>  PASS   notmuch --help tag
>  PASS   notmuch help
>  PASS   notmuch help tag
>  PASS   notmuch --version
>
> config: Testing "notmuch config"
>  PASS   Get string value
>  PASS   Get list value
>  PASS   Set string value
>  PASS   Set string value again
>  PASS   Set list value
>  PASS   Set list value again
>  PASS   Remove key
>  PASS   Remove non-existent key
>  PASS   List all items
>
> new: Testing "notmuch new" in several variations
>  PASS   No new messages
>  PASS   Single new message
>  PASS   Multiple new messages
>  PASS   No new messages (non-empty DB)
>  PASS   New directories
>  PASS   Alternate inode order
>  PASS   Message moved in
>  PASS   Renamed message
>  PASS   Deleted message
>  PASS   Renamed directory
>  PASS   Deleted directory
>  PASS   New directory (at end of list)
>  PASS   Deleted directory (end of list)
>  PASS   New symlink to directory
>  PASS   New symlink to a file
>  PASS   Broken symlink aborts
>  PASS   New two-level directory
>  PASS   Deleted two-level directory
>  PASS   Support single-message mbox (deprecated)
>  PASS   Skip and report non-mail files
>  PASS   Ignore files and directories specified in new.ignore
>  PASS   Ignore files and directories specified in new.ignore (multiple occurrences)
>  PASS   Don't stop for ignored broken symlinks
>
> count: Testing "notmuch count" for messages and threads
>  PASS   message count is the default for notmuch count
>  PASS   message count with --output=messages
>  PASS   thread count with --output=threads
>  PASS   thread count is the default for notmuch search
>  PASS   count with no matching messages
>  PASS   count with no matching threads
>
> search: Testing "notmuch search" in several variations
>  PASS   Search body
>  PASS   Search by from:
>  PASS   Search by to:
>  PASS   Search by subject:
>  PASS   Search by subject (utf-8):
>  PASS   Search by id:
>  PASS   Search by tag:
>  PASS   Search by thread:
>  PASS   Search body (phrase)
>  PASS   Search by from: (address)
>  PASS   Search by from: (name)
>  PASS   Search by to: (address)
>  PASS   Search by to: (name)
>  PASS   Search by subject: (phrase)
>  PASS   Search for all messages ("*")
>  PASS   Search body (utf-8):
>
> search-output: Testing various settings for "notmuch search --output="
>  PASS   --output=threads
>  PASS   --output=threads --format=json
>  PASS   --output=messages
>  PASS   --output=messages --format=json
>  PASS   --output=files
>  PASS   --output=files --format=json
>  PASS   --output=tags
>  PASS   --output=tags --format=json
>  PASS   sanitize output for quoted-printable line-breaks in author and subject
>  PASS   search for non-existent message prints nothing
>  PASS   search --format=json for non-existent message prints proper empty json
>
> search-by-folder: Testing "notmuch search" by folder: (with variations)
>  PASS   Single-world folder: specification (multiple results)
>  PASS   Two-word path to narrow results to one
>  PASS   After removing duplicate instance of matching path
>  PASS   After rename, old path returns nothing
>  PASS   After rename, new path returns result
>
> search-position-overlap-bug: Testing that notmuch does not overlap term positions
>  PASS   Search for a@b.c matches
>  PASS   Search for x@y.z matches
>  PASS   Search for a@y.c must not match
>
> search-insufficient-from-quoting: Testing messages with unquoted . in name
>  PASS   Search by first name
>  PASS   Search by last name:
>  PASS   Search by address:
>  PASS   Search for all messages:
>
> search-limiting: Testing "notmuch search" --offset and --limit parameters
>  PASS   messages: limit does the right thing
>  PASS   messages: concatenation of limited searches
>  PASS   messages: limit larger than result set
>  PASS   messages: limit = 0
>  PASS   messages: offset does the right thing
>  PASS   messages: offset = 0
>  PASS   messages: negative offset
>  PASS   messages: negative offset
>  PASS   messages: negative offset combined with limit
>  PASS   messages: negative offset combined with equal limit
>  PASS   messages: negative offset combined with large limit
>  PASS   messages: negative offset larger then results
>  PASS   threads: limit does the right thing
>  PASS   threads: concatenation of limited searches
>  PASS   threads: limit larger than result set
>  PASS   threads: limit = 0
>  PASS   threads: offset does the right thing
>  PASS   threads: offset = 0
>  PASS   threads: negative offset
>  PASS   threads: negative offset
>  PASS   threads: negative offset combined with limit
>  PASS   threads: negative offset combined with equal limit
>  PASS   threads: negative offset combined with large limit
>  PASS   threads: negative offset larger then results
>
> excludes: Testing "notmuch search, count and show" with excludes in several variations
>  PASS   Search, exclude "deleted" messages from search
>  PASS   Search, exclude "deleted" messages from message search
>  PASS   Search, exclude "deleted" messages from message search --exclude=false
>  PASS   Search, exclude "deleted" messages from message search (non-existent exclude-tag)
>  PASS   Search, exclude "deleted" messages from search, overridden
>  PASS   Search, exclude "deleted" messages from threads
>  PASS   Search, don't exclude "deleted" messages when --exclude=flag specified
>  PASS   Search, don't exclude "deleted" messages from search if not configured
>  PASS   Search, default exclusion (thread summary)
>  PASS   Search, default exclusion (messages)
>  PASS   Search, exclude=true (thread summary)
>  PASS   Search, exclude=true (messages)
>  PASS   Search, exclude=false (thread summary)
>  PASS   Search, exclude=false (messages)
>  PASS   Search, exclude=flag (thread summary)
>  PASS   Search, exclude=flag (messages)
>  PASS   Search, default exclusion: tag in query (thread summary)
>  PASS   Search, default exclusion: tag in query (messages)
>  PASS   Search, exclude=true: tag in query (thread summary)
>  PASS   Search, exclude=true: tag in query (messages)
>  PASS   Search, exclude=false: tag in query (thread summary)
>  PASS   Search, exclude=false: tag in query (messages)
>  PASS   Search, exclude=flag: tag in query (thread summary)
>  PASS   Search, exclude=flag: tag in query (messages)
>  PASS   Count, default exclusion (messages)
>  PASS   Count, default exclusion (threads)
>  PASS   Count, exclude=true (messages)
>  PASS   Count, exclude=true (threads)
>  PASS   Count, exclude=false (messages)
>  PASS   Count, exclude=false (threads)
>  PASS   Count, default exclusion: tag in query (messages)
>  PASS   Count, default exclusion: tag in query (threads)
>  PASS   Count, exclude=true: tag in query (messages)
>  PASS   Count, exclude=true: tag in query (threads)
>  PASS   Count, exclude=false: tag in query (messages)
>  PASS   Count, exclude=false: tag in query (threads)
>  PASS   Show, default exclusion
>  PASS   Show, default exclusion (entire-thread)
>  PASS   Show, exclude=true
>  PASS   Show, exclude=true (entire-thread)
>  PASS   Show, exclude=false
>  PASS   Show, exclude=false (entire-thread)
>
> tagging: Testing "notmuch tag"
>  PASS   Adding tags
>  PASS   Removing tags
>  PASS   No tag operations
>  PASS   No query
>  PASS   Redundant tagging
>  PASS   Special characters in tags
>  PASS   Tagging order
>  PASS   Empty tag names
>  PASS   Tag name beginning with -
>
> json: Testing --format=json output
>  PASS   Show message: json
>  PASS   Show message: json --body=true
>  PASS   Show message: json --body=false
>  PASS   Search message: json
>  PASS   Show message: json, utf-8
>  PASS   Show message: json, inline attachment filename
>  PASS   Search message: json, utf-8
>
> text: Testing --format=text output
>  PASS   Show message: text
>  PASS   Search message: text
>  PASS   Show message: text, utf-8
>  PASS   Search message: text, utf-8
>
> multipart: Testing output of multipart message
>  PASS   --format=text --part=0, full message
>  PASS   --format=text --part=1, message body
>  PASS   --format=text --part=2, multipart/mixed
>  PASS   --format=text --part=3, rfc822 part
>  PASS   --format=text --part=4, rfc822's multipart
>  PASS   --format=text --part=5, rfc822's html part
>  PASS   --format=text --part=6, rfc822's text part
>  PASS   --format=text --part=7, inline attachement
>  PASS   --format=text --part=8, plain text part
>  PASS   --format=text --part=9, pgp signature (unverified)
>  PASS   --format=text --part=8, no part, expect error
>  PASS   --format=json --part=0, full message
>  PASS   --format=json --part=1, message body
>  PASS   --format=json --part=2, multipart/mixed
>  PASS   --format=json --part=3, rfc822 part
>  PASS   --format=json --part=4, rfc822's multipart/alternative
>  PASS   --format=json --part=5, rfc822's html part
>  PASS   --format=json --part=6, rfc822's text part
>  PASS   --format=json --part=7, inline attachment
>  PASS   --format=json --part=8, plain text part
>  PASS   --format=json --part=9, pgp signature (unverified)
>  PASS   --format=json --part=10, no part, expect error
>  PASS   --format=raw
>  PASS   --format=raw --part=0, full message
>  PASS   --format=raw --part=1, message body
>  PASS   --format=raw --part=2, multipart/mixed
>  PASS   --format=raw --part=3, rfc822 part
>  PASS   --format=raw --part=4, rfc822's multipart
>  PASS   --format=raw --part=5, rfc822's html part
>  PASS   --format=raw --part=6, rfc822's text part
>  PASS   --format=raw --part=7, inline attachment
>  PASS   --format=raw --part=8, plain text part
>  PASS   --format=raw --part=9, pgp signature (unverified)
>  PASS   --format=raw --part=10, no part, expect error
>  PASS   --format=mbox
>  PASS   --format=mbox --part=1, incompatible, expect error
>  FAIL   'notmuch reply' to a multipart message
> 	--- multipart.37.OUTPUT	2012-11-30 11:12:08.871828702 +0000
> 	+++ multipart.37.EXPECTED	2012-11-30 11:12:08.871828702 +0000
> 	@@ -1,5 +1,3 @@
> 	-address_match(cworth@cworth.org)
> 	-address_match(cworth@cworth.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: Multipart message
> 	 To: Carl Worth <cworth@cworth.org>, cworth@cworth.org
>  FAIL   'notmuch reply' to a multipart message with json format
> 	--- multipart.38.expected	2012-11-30 11:12:08.919827944 +0000
> 	+++ multipart.38.output	2012-11-30 11:12:08.919827944 +0000
> 	@@ -1,89 +1,3 @@
> 	-{
> 	-    "original": {
> 	-        "body": [
> 	-            {
> 	-                "content": [
> 	-                    {
> 	-                        "content": [
> 	-                            {
> 	-                                "content": [
> 	-                                    {
> 	-                                        "body": [
> 	-                                            {
> 	-                                                "content": [
> 	-                                                    {
> 	-                                                        "content-type": "text/html", 
> 	-                                                        "id": 5
> 	-                                                    }, 
> 	-                                                    {
> 	-                                                        "content": "This is an embedded message, with a multipart/alternative part.\n", 
> 	-                                                        "content-type": "text/plain", 
> 	-                                                        "id": 6
> 	-                                                    }
> 	-                                                ], 
> 	-                                                "content-type": "multipart/alternative", 
> 	-                                                "id": 4
> 	-                                            }
> 	-                                        ], 
> 	-                                        "headers": {
> 	-                                            "Date": "Fri, 05 Jan 2001 15:42:57 +0000", 
> 	-                                            "From": "Carl Worth <cworth@cworth.org>", 
> 	-                                            "Subject": "html message", 
> 	-                                            "To": "cworth@cworth.org"
> 	-                                        }
> 	-                                    }
> 	-                                ], 
> 	-                                "content-type": "message/rfc822", 
> 	-                                "id": 3
> 	-                            }, 
> 	-                            {
> 	-                                "content": "This is a text attachment.\n", 
> 	-                                "content-type": "text/plain", 
> 	-                                "filename": "YYYYY", 
> 	-                                "id": 7
> 	-                            }, 
> 	-                            {
> 	-                                "content": "And this message is signed.\n\n-Carl\n", 
> 	-                                "content-type": "text/plain", 
> 	-                                "id": 8
> 	-                            }
> 	-                        ], 
> 	-                        "content-type": "multipart/mixed", 
> 	-                        "id": 2
> 	-                    }, 
> 	-                    {
> 	-                        "content-type": "application/pgp-signature", 
> 	-                        "id": 9
> 	-                    }
> 	-                ], 
> 	-                "content-type": "multipart/signed", 
> 	-                "id": 1
> 	-            }
> 	-        ], 
> 	-        "date_relative": "2001-01-05", 
> 	-        "excluded": false, 
> 	-        "filename": "YYYYY", 
> 	-        "headers": {
> 	-            "Date": "Fri, 05 Jan 2001 15:43:57 +0000", 
> 	-            "From": "Carl Worth <cworth@cworth.org>", 
> 	-            "Subject": "Multipart message", 
> 	-            "To": "cworth@cworth.org"
> 	-        }, 
> 	-        "id": "XXXXX", 
> 	-        "match": false, 
> 	-        "tags": [
> 	-            "attachment", 
> 	-            "inbox", 
> 	-            "signed", 
> 	-            "unread"
> 	-        ], 
> 	-        "timestamp": 978709437
> 	-    }, 
> 	-    "reply-headers": {
> 	-        "From": "Notmuch Test Suite <test_suite@notmuchmail.org>", 
> 	-        "In-reply-to": "<87liy5ap00.fsf@yoom.home.cworth.org>", 
> 	-        "References": " <87liy5ap00.fsf@yoom.home.cworth.org>", 
> 	-        "Subject": "Re: Multipart message", 
> 	-        "To": "Carl Worth <cworth@cworth.org>, cworth@cworth.org"
> 	-    }
> 	-}
> 	+address_match(cworth@cworth.org)
> 	+address_match(cworth@cworth.org)
> 	+{"reply-headers": {"Subject": "Re: Multipart message", "From": "Notmuch Test Suite <test_suite@notmuchmail.org>", "To": "Carl Worth <cworth@cworth.org>, cworth@cworth.org", "In-reply-to": "<87liy5ap00.fsf@yoom.home.cworth.org>", "References": " <87liy5ap00.fsf@yoom.home.cworth.org>"}, "original": {"id": "XXXXX", "match": false, "excluded": false, "filename": "YYYYY", "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["attachment", "inbox", "signed", "unread"], "headers": {"Subject": "Multipart message", "From": "Carl Worth <cworth@cworth.org>", "To": "cworth@cworth.org", "Date": "Fri, 05 Jan 2001 15:43:57 +0000"}, "body": [{"id": 1, "content-type": "multipart/signed", "content": [{"id": 2, "content-type": "multipart/mixed", "content": [{"id": 3, "content-type": "message/rfc822", "content": [{"headers": {"Subject": "html message", "From": "Carl Worth <cworth@cworth.org>", "To": "cworth@cworth.org", "Date": "Fri, 05 Jan 2001 15:42:57 +0000"}, "body": [{"id": 4, "content-type": "multipart/alternative", "content": [{"id": 5, "content-type": "text/html"}, {"id": 6, "content-type": "text/plain", "content": "This is an embedded message, with a multipart/alternative part.\n"}]}]}]}, {"id": 7, "content-type": "text/plain", "filename": "YYYYY", "content": "This is a text attachment.\n"}, {"id": 8, "content-type": "text/plain", "content": "And this message is signed.\n\n-Carl\n"}]}, {"id": 9, "content-type": "application/pgp-signature"}]}]}}
> No JSON object could be decoded
>  PASS   'notmuch show --part' does not corrupt a part with CRLF pair
>
> thread-naming: Testing naming of threads with changing subject
>  PASS   Initial thread name (oldest-first search)
>  PASS   Initial thread name (newest-first search)
>  PASS   Changed thread name (oldest-first search)
>  PASS   Changed thread name (newest-first search)
>  PASS   Ignore added reply prefix (Re:)
>  PASS   Ignore added reply prefix (Aw:)
>  PASS   Ignore added reply prefix (Vs:)
>  PASS   Ignore added reply prefix (Sv:)
>  PASS   Test order of messages in "notmuch show"
>
> raw: Testing notmuch show --format=raw
>  PASS   Attempt to show multiple raw messages
>  PASS   Show a raw message
>  PASS   Show another raw message
>
> reply: Testing "notmuch reply" in several variations
>  FAIL   Basic reply
> 	--- reply.1.expected	2012-11-30 11:12:09.207823395 +0000
> 	+++ reply.1.output	2012-11-30 11:12:09.207823395 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   Multiple recipients
> 	--- reply.2.expected	2012-11-30 11:12:09.223823144 +0000
> 	+++ reply.2.output	2012-11-30 11:12:09.223823144 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(someone@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, Someone Else <someone@example.com>
>  FAIL   Reply with CC
> 	--- reply.3.expected	2012-11-30 11:12:09.239822892 +0000
> 	+++ reply.3.output	2012-11-30 11:12:09.239822892 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(cc@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   Reply from alternate address
> 	--- reply.4.expected	2012-11-30 11:12:09.259822574 +0000
> 	+++ reply.4.output	2012-11-30 11:12:09.259822574 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   Reply from address in named group list
> 	--- reply.5.expected	2012-11-30 11:12:09.275822323 +0000
> 	+++ reply.5.output	2012-11-30 11:12:09.275822323 +0000
> 	@@ -1,3 +1,7 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(someone@example.com)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, someone@example.com
>  FAIL   Support for Reply-To
> 	--- reply.6.expected	2012-11-30 11:12:09.291822071 +0000
> 	+++ reply.6.output	2012-11-30 11:12:09.291822071 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(elsewhere@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <elsewhere@example.com>
>  FAIL   Un-munging Reply-To
> 	--- reply.7.expected	2012-11-30 11:12:09.307821818 +0000
> 	+++ reply.7.output	2012-11-30 11:12:09.307821818 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(list@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, Some List <list@example.com>
>  FAIL   Message with header of exactly 200 bytes
> 	--- reply.8.expected	2012-11-30 11:12:09.323821564 +0000
> 	+++ reply.8.output	2012-11-30 11:12:09.323821564 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces
> 	 In-Reply-To: <msg-008@notmuch-test-suite>
>  FAIL   From guessing: Envelope-To
> 	--- reply.9.expected	2012-11-30 11:12:09.339821311 +0000
> 	+++ reply.9.output	2012-11-30 11:12:09.339821311 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(recipient@example.com)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: From guessing
> 	 To: Sender <sender@example.com>, Recipient <recipient@example.com>
>  FAIL   From guessing: X-Original-To
> 	--- reply.10.expected	2012-11-30 11:12:09.359820997 +0000
> 	+++ reply.10.output	2012-11-30 11:12:09.359820997 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(recipient@example.com)
> 	+address_match(test_suite@otherdomain.org)
> 	 From: Notmuch Test Suite <test_suite@otherdomain.org>
> 	 Subject: Re: From guessing
> 	 To: Sender <sender@example.com>, Recipient <recipient@example.com>
>  FAIL   From guessing: Delivered-To
> 	--- reply.11.expected	2012-11-30 11:12:09.375820743 +0000
> 	+++ reply.11.output	2012-11-30 11:12:09.375820743 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(recipient@example.com)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: From guessing
> 	 To: Sender <sender@example.com>, Recipient <recipient@example.com>
>
> reply-to-sender: Testing "notmuch reply --reply-to=sender" in several variations
>  FAIL   Basic reply-to-sender
> 	--- reply-to-sender.1.expected	2012-11-30 11:12:09.419820050 +0000
> 	+++ reply-to-sender.1.output	2012-11-30 11:12:09.419820050 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   From Us, Basic reply to message
> 	--- reply-to-sender.2.expected	2012-11-30 11:12:09.439819734 +0000
> 	+++ reply-to-sender.2.output	2012-11-30 11:12:09.439819734 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(recipient@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Recipient <recipient@example.com>
>  FAIL   Multiple recipients
> 	--- reply-to-sender.3.expected	2012-11-30 11:12:09.455819480 +0000
> 	+++ reply-to-sender.3.output	2012-11-30 11:12:09.455819480 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(someone@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   From Us, Multiple TO recipients
> 	--- reply-to-sender.4.expected	2012-11-30 11:12:09.475819164 +0000
> 	+++ reply-to-sender.4.output	2012-11-30 11:12:09.475819164 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(recipient@example.com)
> 	+address_match(someone@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Recipient <recipient@example.com>, Someone Else <someone@example.com>
>  FAIL   Reply with CC
> 	--- reply-to-sender.5.expected	2012-11-30 11:12:09.491818913 +0000
> 	+++ reply-to-sender.5.output	2012-11-30 11:12:09.491818913 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   From Us, Reply with CC
> 	--- reply-to-sender.6.expected	2012-11-30 11:12:09.507818659 +0000
> 	+++ reply-to-sender.6.output	2012-11-30 11:12:09.507818659 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(recipient@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Recipient <recipient@example.com>
>  FAIL   From Us, Reply no TO but with CC
> 	--- reply-to-sender.7.expected	2012-11-30 11:12:09.523818406 +0000
> 	+++ reply-to-sender.7.output	2012-11-30 11:12:09.523818406 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(cc@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 Cc: Other Parties <cc@example.com>
>  FAIL   Reply from alternate address
> 	--- reply-to-sender.8.expected	2012-11-30 11:12:09.539818155 +0000
> 	+++ reply-to-sender.8.output	2012-11-30 11:12:09.539818155 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   Support for Reply-To
> 	--- reply-to-sender.9.expected	2012-11-30 11:12:09.559817838 +0000
> 	+++ reply-to-sender.9.output	2012-11-30 11:12:09.559817838 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(elsewhere@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <elsewhere@example.com>
>  FAIL   Support for Reply-To with multiple recipients
> 	--- reply-to-sender.10.expected	2012-11-30 11:12:09.575817588 +0000
> 	+++ reply-to-sender.10.output	2012-11-30 11:12:09.575817588 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(elsewhere@example.com)
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(someone@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <elsewhere@example.com>
>  FAIL   Un-munging Reply-To
> 	--- reply-to-sender.11.expected	2012-11-30 11:12:09.591817332 +0000
> 	+++ reply-to-sender.11.output	2012-11-30 11:12:09.591817332 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(list@example.com)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>
>  FAIL   Message with header of exactly 200 bytes
> 	--- reply-to-sender.12.expected	2012-11-30 11:12:09.611817017 +0000
> 	+++ reply-to-sender.12.output	2012-11-30 11:12:09.611817017 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces
> 	 In-Reply-To: <msg-012@notmuch-test-suite>
>
> dump-restore: Testing "notmuch dump" and "notmuch restore"
>  PASS   Dumping all tags
>  PASS   Dumping all tags II
>  PASS   Clearing all tags
>  PASS   Accumulate original tags
>  PASS   Restoring original tags
>  PASS   Restore with nothing to do
>  PASS   Accumulate with existing tags
>  PASS   Accumulate with no tags
>  PASS   Accumulate with new tags
>  PASS   Invalid restore invocation
>  PASS   dump --output=outfile
>  PASS   dump --output=outfile --
>  PASS   dump -- from:cworth
>  PASS   dump --output=outfile from:cworth
>  PASS   dump --output=outfile -- from:cworth
>
> uuencode: Testing handling of uuencoded data
>  PASS   Ensure content before uu data is indexed
>  PASS   Ensure uu data is not indexed
>  PASS   Ensure content after uu data is indexed
>
> thread-order: Testing threading when messages received out of order
>  PASS   Adding initial child message
>  PASS   Searching returns the message
>  PASS   Adding second child message
>  PASS   Searching returns both messages in one thread
>  PASS   Adding parent message
>  PASS   Searching returns all three messages in one thread
>
> author-order: Testing author reordering;
>  PASS   Adding parent message
>  PASS   Adding initial child message
>  PASS   Adding second child message
>  PASS   Searching when all three messages match
>  PASS   Searching when two messages match
>  PASS   Searching when only one message matches
>  PASS   Searching when only first message matches
>  PASS   Adding duplicate author
>  PASS   Searching when all four messages match
>  PASS   Adding non-monotonic child message
>  PASS   Searching non-monotonic messages (oldest-first)
>  PASS   Searching non-monotonic messages (newest-first)
>
> from-guessing: Testing From line heuristics (with multiple configured addresses)
>  FAIL   Magic from guessing (nothing to go on)
> 	--- from-guessing.1.expected	2012-11-30 11:12:10.251806912 +0000
> 	+++ from-guessing.1.output	2012-11-30 11:12:10.251806912 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Envelope-to:)
> 	--- from-guessing.2.expected	2012-11-30 11:12:10.271806599 +0000
> 	+++ from-guessing.2.output	2012-11-30 11:12:10.271806599 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (X-Original-To:)
> 	--- from-guessing.3.expected	2012-11-30 11:12:10.287806344 +0000
> 	+++ from-guessing.3.output	2012-11-30 11:12:10.287806344 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Received: .. for ..)
> 	--- from-guessing.4.expected	2012-11-30 11:12:10.307806030 +0000
> 	+++ from-guessing.4.output	2012-11-30 11:12:10.307806030 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 -0400 (EDT))
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Received: domain)
> 	--- from-guessing.5.expected	2012-11-30 11:12:10.323805778 +0000
> 	+++ from-guessing.5.output	2012-11-30 11:12:10.323805778 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(otherdomain.org)
> 	 From: Notmuch Test Suite <test_suite@otherdomain.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (multiple Received: headers)
> 	--- from-guessing.6.expected	2012-11-30 11:12:10.339805525 +0000
> 	+++ from-guessing.6.output	2012-11-30 11:12:10.339805525 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 -0400 (EDT) from extraneous.example.com (extraneous.example.com [1.1.1.1]))
> 	 From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  PASS   Testing From line heuristics (with single configured address)
>  FAIL   Magic from guessing (nothing to go on)
> 	--- from-guessing.8.expected	2012-11-30 11:12:10.359805207 +0000
> 	+++ from-guessing.8.output	2012-11-30 11:12:10.359805207 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Envelope-to:)
> 	--- from-guessing.9.expected	2012-11-30 11:12:10.375804955 +0000
> 	+++ from-guessing.9.output	2012-11-30 11:12:10.375804955 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (X-Original-To:)
> 	--- from-guessing.10.expected	2012-11-30 11:12:10.395804641 +0000
> 	+++ from-guessing.10.output	2012-11-30 11:12:10.395804641 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(test_suite_other@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Received: .. for ..)
> 	--- from-guessing.11.expected	2012-11-30 11:12:10.419804262 +0000
> 	+++ from-guessing.11.output	2012-11-30 11:12:10.419804262 +0000
> 	@@ -1,3 +1,7 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match( for <test_suite_other@notmuchmail.org>; Sat, 10 Apr 2010 07:54:51 -0400 (EDT))
> 	+address_match(notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>  FAIL   Magic from guessing (Received: domain)
> 	--- from-guessing.12.expected	2012-11-30 11:12:10.435804008 +0000
> 	+++ from-guessing.12.output	2012-11-30 11:12:10.435804008 +0000
> 	@@ -1,3 +1,6 @@
> 	+address_match(sender@example.com)
> 	+address_match(mailinglist@notmuchmail.org)
> 	+address_match(otherdomain.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: notmuch-reply-test
> 	 To: Sender <sender@example.com>, mailinglist@notmuchmail.org
>
> long-id: Testing messages with ridiculously-long message IDs
>  PASS   Referencing long ID before adding
>  PASS   Adding message with long ID
>  PASS   Referencing long ID after adding
>  PASS   Ensure all messages were threaded together
>
> encoding: Testing encoding issues
>  PASS   Message with text of unknown charset
>  PASS   Search for ISO-8859-2 encoded message
>
> emacs: Testing emacs interface
>  PASS   Basic notmuch-hello view in emacs
>  PASS   Saved search with 0 results
>  PASS   No saved searches displayed (all with 0 results)
>  PASS   Basic notmuch-search view in emacs
>  PASS   Incremental parsing of search results
>  PASS   Navigation of notmuch-hello to search results
>  PASS   Basic notmuch-show view in emacs
>  PASS   Basic notmuch-show view in emacs default indentation
>  PASS   Basic notmuch-show view in emacs without indentation
>  PASS   Basic notmuch-show view in emacs with fourfold indentation
>  PASS   notmuch-show for message with invalid From
>  PASS   Navigation of notmuch-search to thread view
>  PASS   Add tag from search view
>  PASS   Remove tag from search view
>  PASS   Add tag from notmuch-show view
>  PASS   Remove tag from notmuch-show view
>  PASS   Message with .. in Message-Id:
>  PASS   Message with quote in Message-Id:
>  PASS   Sending a message via (fake) SMTP
>  PASS   Verify that sent messages are saved/searchable (via FCC)
>  PASS   notmuch-fcc-dirs set to nil
>  PASS   notmuch-fcc-dirs set to a string
>  PASS   notmuch-fcc-dirs set to a list (with match)
>  PASS   notmuch-fcc-dirs set to a list (catch-all)
>  PASS   notmuch-fcc-dirs set to a list (no match)
>  FAIL   Reply within emacs
> 	--- emacs.26.OUTPUT	2012-11-30 11:12:15.551723246 +0000
> 	+++ emacs.26.EXPECTED	2012-11-30 11:12:15.551723246 +0000
> 	@@ -0,0 +1,11 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: user@example.com
> 	+Subject: Re: Testing message sent via SMTP
> 	+In-Reply-To: <XXX>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <XXX>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Notmuch Test Suite <test_suite@notmuchmail.org> writes:
> 	+
> 	+> This is a test that messages are sent via SMTP
> *ERROR*: JSON readtable error
>  FAIL   Reply from alternate address within emacs
> 	--- emacs.27.OUTPUT	2012-11-30 11:12:15.679721226 +0000
> 	+++ emacs.27.EXPECTED	2012-11-30 11:12:15.683721161 +0000
> 	@@ -0,0 +1,11 @@
> 	+From: Notmuch Test Suite <test_suite_other@notmuchmail.org>
> 	+To: Sender <sender@example.com>
> 	+Subject: Re: Reply from alternate address within emacs
> 	+In-Reply-To: <msg-004@notmuch-test-suite>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <msg-004@notmuch-test-suite>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Sender <sender@example.com> writes:
> 	+
> 	+> This is just a test message (#4)
> *ERROR*: JSON readtable error
>  FAIL   Reply from address in named group list within emacs
> 	--- emacs.28.OUTPUT	2012-11-30 11:12:15.807719203 +0000
> 	+++ emacs.28.EXPECTED	2012-11-30 11:12:15.811719142 +0000
> 	@@ -0,0 +1,11 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: Sender <sender@example.com>, someone@example.com
> 	+Subject: Re: Reply from address in named group list within emacs
> 	+In-Reply-To: <msg-005@notmuch-test-suite>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <msg-005@notmuch-test-suite>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Sender <sender@example.com> writes:
> 	+
> 	+> This is just a test message (#5)
> *ERROR*: JSON readtable error
>  FAIL   Reply within emacs to a multipart/mixed message
> 	--- emacs.29.OUTPUT	2012-11-30 11:12:15.859718382 +0000
> 	+++ emacs.29.EXPECTED	2012-11-30 11:12:15.859718382 +0000
> 	@@ -0,0 +1,53 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: Adrian Perez de Castro <aperez@igalia.com>, notmuch@notmuchmail.org
> 	+Subject: Re: [notmuch] Introducing myself
> 	+In-Reply-To: <20091118002059.067214ed@hikari>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <20091118002059.067214ed@hikari>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Adrian Perez de Castro <aperez@igalia.com> writes:
> 	+
> 	+> Hello to all,
> 	+>
> 	+> I have just heard about Not Much today in some random Linux-related news
> 	+> site (LWN?), my name is Adrian Perez and I work as systems administrator
> 	+> (although I can do some code as well :P). I have always thought that the
> 	+> ideas behind Sup were great, but after some time using it, I got tired of
> 	+> the oddities that it has. I also do not like doing things like having to
> 	+> install Ruby just for reading and sorting mails. Some time ago I thought
> 	+> about doing something like Not Much and in fact I played a bit with the
> 	+> Python+Xapian and the Python+Whoosh combinations, because I find relaxing
> 	+> to code things in Python when I am not working and also it is installed
> 	+> by default on most distribution. I got to have some mailboxes indexed and
> 	+> basic searching working a couple of months ago. Lately I have been very
> 	+> busy and had no time for coding, and them... boom! Not Much appears -- and
> 	+> it is almost exactly what I was trying to do, but faster. I have been
> 	+> playing a bit with Not Much today, and I think it has potential.
> 	+>
> 	+> Also, I would like to share one idea I had in mind, that you might find
> 	+> interesting: One thing I have found very annoying is having to re-tag my
> 	+> mail when the indexes get b0rked (it happened a couple of times to me while
> 	+> using Sup), so I was planning to mails as read/unread and adding the tags
> 	+> not just to the index, but to the mail text itself, e.g. by adding a
> 	+> "X-Tags" header field or by reusing the "Keywords" one. This way, the index
> 	+> could be totally recreated by re-reading the mail directories, and this
> 	+> would also allow to a tools like OfflineIMAP [1] to get the mails into a
> 	+> local maildir, tagging and indexing the mails with the e-mail reader and
> 	+> then syncing back the messages with the "X-Tags" header to the IMAP server.
> 	+> This would allow to use the mail reader from a different computer and still
> 	+> have everything tagged finely.
> 	+>
> 	+> Best regards,
> 	+>
> 	+>
> 	+> ---
> 	+> [1] http://software.complete.org/software/projects/show/offlineimap
> 	+>
> 	+> -- 
> 	+> Adrian Perez de Castro <aperez@igalia.com>
> 	+> Igalia - Free Software Engineering
> 	+> _______________________________________________
> 	+> notmuch mailing list
> 	+> notmuch@notmuchmail.org
> 	+> http://notmuchmail.org/mailman/listinfo/notmuch
> *ERROR*: JSON readtable error
>  FAIL   Reply within emacs to a multipart/alternative message
> 	--- emacs.30.OUTPUT	2012-11-30 11:12:16.067715102 +0000
> 	+++ emacs.30.EXPECTED	2012-11-30 11:12:16.067715102 +0000
> 	@@ -0,0 +1,30 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: Alex Botero-Lowry <alex.boterolowry@gmail.com>, notmuch@notmuchmail.org
> 	+Subject: Re: [notmuch] preliminary FreeBSD support
> 	+In-Reply-To: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Alex Botero-Lowry <alex.boterolowry@gmail.com> writes:
> 	+
> 	+> I saw the announcement this morning, and was very excited, as I had been
> 	+> hoping sup would be turned into a library,
> 	+> since I like the concept more than the UI (I'd rather an emacs interface).
> 	+>
> 	+> I did a preliminary compile which worked out fine, but
> 	+> sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
> 	+> FreeBSD, so notmuch_config_open segfaulted.
> 	+>
> 	+> Attached is a patch that supplies a default buffer size of 64 in cases where
> 	+> -1 is returned.
> 	+>
> 	+> http://www.opengroup.org/austin/docs/austin_328.txt - seems to indicate this
> 	+> is acceptable behavior,
> 	+> and http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.htmlspecifically
> 	+> uses 64 as the
> 	+> buffer size.
> 	+> _______________________________________________
> 	+> notmuch mailing list
> 	+> notmuch@notmuchmail.org
> 	+> http://notmuchmail.org/mailman/listinfo/notmuch
> *ERROR*: JSON readtable error
>  FAIL   Reply within emacs to an html-only message
> 	--- emacs.31.OUTPUT	2012-11-30 11:12:16.111714404 +0000
> 	+++ emacs.31.EXPECTED	2012-11-30 11:12:16.111714404 +0000
> 	@@ -0,0 +1,11 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: 
> 	+Subject: Re: Reply within emacs to an html-only message
> 	+In-Reply-To: <msg-006@notmuch-test-suite>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <msg-006@notmuch-test-suite>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Notmuch Test Suite <test_suite@notmuchmail.org> writes:
> 	+
> 	+> Hi,This is an HTML test message.OK?
> *ERROR*: JSON readtable error
>  FAIL   Quote MML tags in reply
> 	--- emacs.32.OUTPUT	2012-11-30 11:12:16.147713838 +0000
> 	+++ emacs.32.EXPECTED	2012-11-30 11:12:16.151713776 +0000
> 	@@ -0,0 +1,11 @@
> 	+From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	+To: 
> 	+Subject: Re: Quote MML tags in reply
> 	+In-Reply-To: <test-emacs-mml-quoting@message.id>
> 	+Fcc: /home/michael/software/notmuch/test/tmp.emacs/mail/sent
> 	+References: <test-emacs-mml-quoting@message.id>
> 	+User-Agent: Notmuch/XXX Emacs/XXX
> 	+--text follows this line--
> 	+Notmuch Test Suite <test_suite@notmuchmail.org> writes:
> 	+
> 	+> <#!part disposition=inline>
> *ERROR*: JSON readtable error
>  PASS   Save attachment from within emacs using notmuch-show-save-attachments
>  PASS   Save attachment from within emacs using notmuch-show-save-part
>  PASS   Save 8bit attachment from within emacs using notmuch-show-save-attachments
>  PASS   View raw message within emacs
>  PASS   Hiding/showing signature in notmuch-show view
>  PASS   Detection and hiding of top-post quoting of message
>  PASS   Hiding message in notmuch-show view
>  PASS   Hiding message with visible citation in notmuch-show view
>  PASS   notmuch-show: show message headers
>  PASS   notmuch-show: hide message headers
>  PASS   notmuch-show: hide message headers (w/ notmuch-show-toggle-visibility-headers)
>  PASS   notmuch-show: collapse all messages in thread
>  PASS   notmuch-show: uncollapse all messages in thread
>  PASS   Stashing in notmuch-show
>  PASS   Stashing in notmuch-search
>  PASS   notmuch-show-advance-and-archive with invisible signature
>  PASS   Refresh show buffer
>  PASS   Refresh modified show buffer
>  PASS   Do not call notmuch for non-inlinable application/mpeg parts
>  PASS   Do not call notmuch for non-inlinable audio/mpeg parts
>  PASS   notmuch-hello-mode hook is called
>  PASS   notmuch-hello-mode hook is not called on updates
>  PASS   notmuch-hello-refresh hook is called
>  PASS   notmuch-hello-refresh hook is called on updates
>  PASS   Rendering HTML mail with images
>
> emacs-large-search-buffer: Testing Emacs with large search results buffer
>  PASS   Ensure that emacs doesn't drop results
>  PASS   Ensure that emacs doesn't drop error messages
>
> emacs-subject-to-filename: Testing emacs: mail subject to filename
>  PASS   no patch sequence number
>  PASS   patch sequence number #1
>  PASS   patch sequence number #2
>  PASS   patch sequence number #3
>  PASS   patch sequence number #4
>  PASS   patch sequence number #5
>  PASS   patch sequence number #6
>  PASS   patch sequence number #7
>  PASS   filename #1
>  PASS   filename #2
>  PASS   filename #3
>  PASS   filename #4
>  PASS   filename #5
>  PASS   filename #6
>  PASS   filename #7
>  PASS   filename #8
>  PASS   filename #9
>  PASS   patch filename #1
>  PASS   patch filename #2
>  PASS   patch filename #3
>  PASS   patch filename #4
>
> maildir-sync: Testing maildir synchronization
>  PASS   Adding 'S' flag to existing filename removes 'unread' tag
>  PASS   Adding message with 'S' flag prevents 'unread' tag
>  PASS   Adding 'replied' tag adds 'R' flag to filename
>  PASS   notmuch show works with renamed file (without notmuch new)
>  PASS   notmuch reply works with renamed file (without notmuch new)
>  PASS   notmuch new detects no file rename after tag->flag synchronization
>  PASS   When read, message moved from new to cur
>  PASS   No rename should be detected by notmuch new
>  PASS   Removing 'S' flag from existing filename adds 'unread' tag
>  PASS   Removing info from filename leaves tags unchanged
>  PASS   Can remove unread tag from message in non-maildir directory
>  PASS   Message in non-maildir directory does not get renamed
>  PASS   notmuch dump/restore re-synchronizes maildir tags with flags
>  PASS   Adding flags to duplicate message tags the mail
>  PASS   Adding duplicate message without flags does not remove tags
>  PASS   Tag changes modify flags of multiple files
>  PASS   Synchronizing tag changes preserves unsupported maildir flags
>  PASS   A file with non-compliant maildir info will not be renamed
>  PASS   Files in new/ get default synchronized tags
>
> crypto: Testing PGP/MIME signature verification and decryption
>  PASS   emacs delivery of signed message
>  PASS   signature verification
>  PASS   signature verification with full owner trust
>  PASS   signature verification with signer key unavailable
>  PASS   emacs delivery of encrypted message with attachment
>  PASS   decryption, --format=text
>  PASS   decryption, --format=json
>  PASS   decryption, --format=json, --part=4
>  PASS   decrypt attachment (--part=5 --format=raw)
>  PASS   decryption failure with missing key
>  PASS   emacs delivery of encrypted + signed message
>  PASS   decryption + signature verification
>  FAIL   reply to encrypted message
> 	--- crypto.13.expected	2012-11-30 11:12:30.559486390 +0000
> 	+++ crypto.13.output	2012-11-30 11:12:30.559486390 +0000
> 	@@ -1,3 +1,5 @@
> 	+address_match(test_suite@notmuchmail.org)
> 	+address_match(test_suite@notmuchmail.org)
> 	 From: Notmuch Test Suite <test_suite@notmuchmail.org>
> 	 Subject: Re: test encrypted message 002
> 	 
>  PASS   signature verification with revoked key
>
> symbol-hiding: Testing exception symbol hiding
>  PASS   running test
>  PASS   checking output
>  PASS   comparing existing to exported symbols
>
> search-folder-coherence: Testing folder tags removed and added through file renames remain consistent
>  PASS   No new messages
>  PASS   Single new message
>  PASS   Add second folder for same message
>  PASS   Multiple files for same message
>  PASS   Test matches folder:spam
>  PASS   Remove folder:spam copy of email
>  PASS   No mails match the folder:spam search
>
> atomicity: Testing atomicity
>  PASS   "notmuch new" is idempotent under arbitrary aborts
>  PASS   detected 22>10 abort points
>
> python: Testing python bindings
>  PASS   compare thread ids
>  PASS   compare message ids
>  PASS   get non-existent file
>
> hooks: Testing hooks
>  PASS   pre-new is run
>  PASS   post-new is run
>  PASS   pre-new is run before post-new
>  PASS   pre-new non-zero exit status (hook status)
>  PASS   pre-new non-zero exit status (notmuch status)
>  PASS   pre-new non-zero exit status aborts new
>  PASS   post-new non-zero exit status (hook status)
>  PASS   post-new non-zero exit status (notmuch status)
>  PASS   hook without executable permissions
>  PASS   hook execution failure
>
> argument-parsing: Testing argument parsing
>  PASS   sanity check
>
> emacs-test-functions: Testing emacs test function sanity
>  PASS   emacs test function sanity
>
> emacs-address-cleaning: Testing emacs address cleaning
>  PASS   notmuch-test-address-clean part 1
>  PASS   notmuch-test-address-clean part 2
>  PASS   notmuch-test-address-clean part 3
>
> emacs-hello: Testing emacs notmuch-hello view
>  PASS   User-defined section with inbox tag
>  PASS   User-defined section with empty, hidden entry
>  PASS   User-defined section, unread tag filtered out
>  PASS   User-defined section, different query for counts
>  PASS   Empty custom tags section
>  PASS   Empty custom queries section
>  PASS   Column alignment for tag/queries with long names
>
> emacs-show: Testing emacs notmuch-show view
>  PASS   Hiding Original Message region at beginning of a message
>  PASS   Bare subject #1
>  PASS   Bare subject #2
>  PASS   Bare subject #3
>  PASS   don't process cryptographic MIME parts
>  PASS   process cryptographic MIME parts
>  PASS   process cryptographic MIME parts (w/ notmuch-show-toggle-process-crypto)
>  PASS   notmuch-show: don't elide non-matching messages
>  PASS   notmuch-show: elide non-matching messages
>  PASS   notmuch-show: elide non-matching messages (w/ notmuch-show-toggle-elide-non-matching)
>  PASS   notmuch-show: elide non-matching messages (w/ prefix arg to notmuch-show)
>  PASS   notmuch-show: disable indentation of thread content (w/ notmuch-show-toggle-thread-indentation)
>  PASS   id buttonization
>
> missing-headers: Testing messages with missing headers
> Added 2 new messages to the database.
>  PASS   Search: text
>  PASS   Search: json
>  PASS   Show: text
>  PASS   Show: json
>
> parse-time-string: Testing date/time parser module
>  PASS   date(1) default format without TZ code
>  PASS   date(1) --rfc-2822 format
>  PASS   date(1) --rfc=3339=seconds format
>  PASS   Date parser tests
>
> search-date: Testing date:since..until queries
>  PASS   Absolute date range
>  PASS   Absolute time range with TZ
>
> Notmuch test suite complete.
> 437/481 tests passed.
> 44 tests failed.

Thread: