* fix for failing tests with gmime 2.6.19 @ 2013-11-10 16:21 David Bremner 2013-11-10 16:21 ` [PATCH 1/2] test: add optional workaround for gmime bug David Bremner ` (3 more replies) 0 siblings, 4 replies; 13+ messages in thread From: David Bremner @ 2013-11-10 16:21 UTC (permalink / raw) To: notmuch Although Jeffrey Stedfast fixed gmime bug 711305 amazingly quickly, it looks like many people still have to live with a buggy version of gmime for a while yet. Here is an opt-in fix that stops the test suite from failing; this is a simple fix for e.g. the debian build process. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] test: add optional workaround for gmime bug. 2013-11-10 16:21 fix for failing tests with gmime 2.6.19 David Bremner @ 2013-11-10 16:21 ` David Bremner 2013-11-10 16:21 ` [PATCH 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner ` (2 subsequent siblings) 3 siblings, 0 replies; 13+ messages in thread From: David Bremner @ 2013-11-10 16:21 UTC (permalink / raw) To: notmuch A new variable NOTMUCH_TEST_SLOPPY is introduced, which enables this workaround. It could be used in the future for similar things. --- test/README | 7 +++++++ test/test-lib.sh | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/test/README b/test/README index d12cff2..eb1a2e6 100644 --- a/test/README +++ b/test/README @@ -96,6 +96,13 @@ Note that some tests in the existing test suite rely on previous test items, so you cannot arbitrarily skip any test and expect the remaining tests to be unaffected. +Working around some bugs +------------------------ + +The test suite contains some workarounds for known (minor) problems in +external dependencies. You can enable these workarounds by setting the +environment variable NOTMUCH_TEST_SLOPPY to a non-null value. + Writing Tests ------------- The test script is written as a shell script. It should start with diff --git a/test/test-lib.sh b/test/test-lib.sh index 2aa4dfc..c71bd4e 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -628,6 +628,15 @@ notmuch_json_show_sanitize () -e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' } +notmuch_reply_sanitize () +{ + if test -n "$NOTMUCH_TEST_SLOPPY"; then + # work around GMIME bug #711305 + sed -e 's/^References: */References: /' + else + cat + fi +} # End of notmuch helper functions # Use test_set_prereq to tell that a particular prerequisite is available. -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: work around gmime bug using notmuch_reply_sanitize 2013-11-10 16:21 fix for failing tests with gmime 2.6.19 David Bremner 2013-11-10 16:21 ` [PATCH 1/2] test: add optional workaround for gmime bug David Bremner @ 2013-11-10 16:21 ` David Bremner 2013-11-11 3:15 ` [Patch v2 1/2] test: add optional workaround for gmime bug David Bremner 2013-11-11 3:47 ` fix for failing tests with gmime 2.6.19 Daniel Kahn Gillmor 2013-11-18 17:54 ` Tomi Ollila 3 siblings, 1 reply; 13+ messages in thread From: David Bremner @ 2013-11-10 16:21 UTC (permalink / raw) To: notmuch The user still has to set NOTMUCH_TEST_SLOPPY --- test/from-guessing | 22 +++++++++++----------- test/multipart | 2 +- test/reply | 24 ++++++++++++------------ test/reply-to-sender | 24 ++++++++++++------------ 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/test/from-guessing b/test/from-guessing index 6dfaa40..bdda13b 100755 --- a/test/from-guessing +++ b/test/from-guessing @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -27,7 +27,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -45,7 +45,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -65,7 +65,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -85,7 +85,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -107,7 +107,7 @@ Received: from extraneous.example.com (extraneous.example.com [1.1.1.1])\"" \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output="$(notmuch reply id:${gen_msg_id})" +output="$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize)" test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -128,7 +128,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -146,7 +146,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -164,7 +164,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -184,7 +184,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -204,7 +204,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org diff --git a/test/multipart b/test/multipart index b40fa2c..05a5f1d 100755 --- a/test/multipart +++ b/test/multipart @@ -569,7 +569,7 @@ test_expect_success \ "! notmuch show --format=mbox --part=1 'id:87liy5ap00.fsf@yoom.home.cworth.org'" test_begin_subtest "'notmuch reply' to a multipart message" -notmuch reply 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT +notmuch reply 'id:87liy5ap00.fsf@yoom.home.cworth.org' | notmuch_reply_sanitize >OUTPUT cat <<EOF >EXPECTED From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: Multipart message diff --git a/test/reply b/test/reply index b0d854a..8929de0 100755 --- a/test/reply +++ b/test/reply @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -26,7 +26,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Multiple recipients"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, Someone Else <someone@example.com> @@ -44,7 +44,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -62,7 +62,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply from alternate address"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -80,7 +80,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Reply from address in named group list"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, someone@example.com @@ -98,7 +98,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -116,7 +116,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="Un-munging Reply-To"' \ '[reply-to]="Evil Munging List <list@example.com>"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, Some List <list@example.com> @@ -130,7 +130,7 @@ test_begin_subtest "Message with header of exactly 200 bytes" add_message '[subject]="This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="200-byte header"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes @@ -149,7 +149,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="Envelope-To: test_suite_other@notmuchmail.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -167,7 +167,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="X-Original-To: test_suite@otherdomain.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -185,7 +185,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="Delivered-To: test_suite_other@notmuchmail.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -204,7 +204,7 @@ add_message '[subject]="=?iso-8859-1?q?=e0=df=e7?="' \ # GMime happens to change from Q- to B-encoding. We canonicalize the # case of the encoding and charset because different versions of GMime # capitalize the encoding differently. -output=$(notmuch reply id:${gen_msg_id} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge') +output=$(notmuch reply id:${gen_msg_id} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge' | notmuch_reply_sanitize) test_expect_equal "$output" "\ From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: =?iso-8859-1?b?4N/n?= diff --git a/test/reply-to-sender b/test/reply-to-sender index 30e5e38..194b2ae 100755 --- a/test/reply-to-sender +++ b/test/reply-to-sender @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply-to-sender test"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -26,7 +26,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply-to-from-us test"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com> @@ -43,7 +43,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Multiple recipients"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -60,7 +60,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="From Us, Multiple TO recipients"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com>, Someone Else <someone@example.com> @@ -78,7 +78,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -96,7 +96,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com> @@ -113,7 +113,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test Cc: Other Parties <cc@example.com> @@ -130,7 +130,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply from alternate address"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -148,7 +148,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -166,7 +166,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to with multiple recipients"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -184,7 +184,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="Un-munging Reply-To"' \ '[reply-to]="Evil Munging List <list@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -198,7 +198,7 @@ test_begin_subtest "Message with header of exactly 200 bytes" add_message '[subject]="This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="200-byte header"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Patch v2 1/2] test: add optional workaround for gmime bug. 2013-11-10 16:21 ` [PATCH 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner @ 2013-11-11 3:15 ` David Bremner 2013-11-11 3:15 ` [Patch v2 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner 0 siblings, 1 reply; 13+ messages in thread From: David Bremner @ 2013-11-11 3:15 UTC (permalink / raw) To: notmuch A new variable NOTMUCH_TEST_WORKAROUNDS is introduced, which enables this workaround. It could be used in the future for similar things. --- test/README | 7 +++++++ test/test-lib.sh | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/test/README b/test/README index d12cff2..f132860 100644 --- a/test/README +++ b/test/README @@ -96,6 +96,13 @@ Note that some tests in the existing test suite rely on previous test items, so you cannot arbitrarily skip any test and expect the remaining tests to be unaffected. +Working around some bugs +------------------------ + +The test suite contains some workarounds for known (minor) problems in +external dependencies. You can enable these workarounds by setting the +environment variable NOTMUCH_TEST_WORKAROUNDS to a non-null value. + Writing Tests ------------- The test script is written as a shell script. It should start with diff --git a/test/test-lib.sh b/test/test-lib.sh index 2aa4dfc..4554d5e 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -628,6 +628,15 @@ notmuch_json_show_sanitize () -e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' } +notmuch_reply_sanitize () +{ + if test -n "$NOTMUCH_TEST_WORKAROUNDS"; then + # work around GMIME bug #711305 + sed -e 's/^References: /References: /' + else + cat + fi +} # End of notmuch helper functions # Use test_set_prereq to tell that a particular prerequisite is available. -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Patch v2 2/2] test: work around gmime bug using notmuch_reply_sanitize 2013-11-11 3:15 ` [Patch v2 1/2] test: add optional workaround for gmime bug David Bremner @ 2013-11-11 3:15 ` David Bremner 0 siblings, 0 replies; 13+ messages in thread From: David Bremner @ 2013-11-11 3:15 UTC (permalink / raw) To: notmuch The user still has to set NOTMUCH_TEST_WORKAROUNDS --- test/from-guessing | 22 +++++++++++----------- test/multipart | 2 +- test/reply | 24 ++++++++++++------------ test/reply-to-sender | 24 ++++++++++++------------ 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/test/from-guessing b/test/from-guessing index 6dfaa40..bdda13b 100755 --- a/test/from-guessing +++ b/test/from-guessing @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -27,7 +27,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -45,7 +45,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -65,7 +65,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -85,7 +85,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -107,7 +107,7 @@ Received: from extraneous.example.com (extraneous.example.com [1.1.1.1])\"" \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output="$(notmuch reply id:${gen_msg_id})" +output="$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize)" test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -128,7 +128,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -146,7 +146,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -164,7 +164,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -184,7 +184,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org @@ -204,7 +204,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="from guessing test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, mailinglist@notmuchmail.org diff --git a/test/multipart b/test/multipart index b40fa2c..05a5f1d 100755 --- a/test/multipart +++ b/test/multipart @@ -569,7 +569,7 @@ test_expect_success \ "! notmuch show --format=mbox --part=1 'id:87liy5ap00.fsf@yoom.home.cworth.org'" test_begin_subtest "'notmuch reply' to a multipart message" -notmuch reply 'id:87liy5ap00.fsf@yoom.home.cworth.org' >OUTPUT +notmuch reply 'id:87liy5ap00.fsf@yoom.home.cworth.org' | notmuch_reply_sanitize >OUTPUT cat <<EOF >EXPECTED From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: Multipart message diff --git a/test/reply b/test/reply index b0d854a..8929de0 100755 --- a/test/reply +++ b/test/reply @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply test"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -26,7 +26,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Multiple recipients"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, Someone Else <someone@example.com> @@ -44,7 +44,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -62,7 +62,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply from alternate address"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -80,7 +80,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Reply from address in named group list"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, someone@example.com @@ -98,7 +98,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -116,7 +116,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="Un-munging Reply-To"' \ '[reply-to]="Evil Munging List <list@example.com>"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com>, Some List <list@example.com> @@ -130,7 +130,7 @@ test_begin_subtest "Message with header of exactly 200 bytes" add_message '[subject]="This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="200-byte header"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes @@ -149,7 +149,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="Envelope-To: test_suite_other@notmuchmail.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -167,7 +167,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="X-Original-To: test_suite@otherdomain.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@otherdomain.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -185,7 +185,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="From guessing"' \ '[header]="Delivered-To: test_suite_other@notmuchmail.org"' -output=$(notmuch reply id:${gen_msg_id}) +output=$(notmuch reply id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: From guessing To: Sender <sender@example.com>, Recipient <recipient@example.com> @@ -204,7 +204,7 @@ add_message '[subject]="=?iso-8859-1?q?=e0=df=e7?="' \ # GMime happens to change from Q- to B-encoding. We canonicalize the # case of the encoding and charset because different versions of GMime # capitalize the encoding differently. -output=$(notmuch reply id:${gen_msg_id} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge') +output=$(notmuch reply id:${gen_msg_id} | perl -pe 's/=\?[^?]+\?[bB]\?/lc($&)/ge' | notmuch_reply_sanitize) test_expect_equal "$output" "\ From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: =?iso-8859-1?b?4N/n?= diff --git a/test/reply-to-sender b/test/reply-to-sender index 30e5e38..194b2ae 100755 --- a/test/reply-to-sender +++ b/test/reply-to-sender @@ -9,7 +9,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply-to-sender test"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -26,7 +26,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="basic reply-to-from-us test"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com> @@ -43,7 +43,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="Multiple recipients"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -60,7 +60,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="From Us, Multiple TO recipients"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com>, Someone Else <someone@example.com> @@ -78,7 +78,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -96,7 +96,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Recipient <recipient@example.com> @@ -113,7 +113,7 @@ add_message '[from]="Notmuch Test Suite <test_suite@notmuchmail.org>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply with CC"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test Cc: Other Parties <cc@example.com> @@ -130,7 +130,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="reply from alternate address"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite_other@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -148,7 +148,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -166,7 +166,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="support for reply-to with multiple recipients"' \ '[reply-to]="Sender <elsewhere@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <elsewhere@example.com> @@ -184,7 +184,7 @@ add_message '[from]="Sender <sender@example.com>"' \ '[body]="Un-munging Reply-To"' \ '[reply-to]="Evil Munging List <list@example.com>"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: notmuch-reply-test To: Sender <sender@example.com> @@ -198,7 +198,7 @@ test_begin_subtest "Message with header of exactly 200 bytes" add_message '[subject]="This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes includes the Subject: and Re: prefixes with two spaces"' \ '[date]="Tue, 05 Jan 2010 15:43:56 -0000"' \ '[body]="200-byte header"' -output=$(notmuch reply --reply-to=sender id:${gen_msg_id}) +output=$(notmuch reply --reply-to=sender id:${gen_msg_id} | notmuch_reply_sanitize) test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org> Subject: Re: This subject is exactly 200 bytes in length. Other than its length there is not much of note here. Note that the length of 200 bytes -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-10 16:21 fix for failing tests with gmime 2.6.19 David Bremner 2013-11-10 16:21 ` [PATCH 1/2] test: add optional workaround for gmime bug David Bremner 2013-11-10 16:21 ` [PATCH 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner @ 2013-11-11 3:47 ` Daniel Kahn Gillmor 2013-11-11 11:57 ` David Bremner 2013-11-18 17:54 ` Tomi Ollila 3 siblings, 1 reply; 13+ messages in thread From: Daniel Kahn Gillmor @ 2013-11-11 3:47 UTC (permalink / raw) To: notmuch On 11/10/2013 11:21 AM, David Bremner wrote: > Although Jeffrey Stedfast fixed gmime bug 711305 amazingly quickly, it > looks like many people still have to live with a buggy version of > gmime for a while yet. Here is an opt-in fix that stops the test suite > from failing; this is a simple fix for e.g. the debian build process. I think you're referring to: https://bugzilla.gnome.org/show_bug.cgi?id=711305 Please don't introduce this cruft into the notmuch codebase. It should be fixed in gmime, not worked-around notmuch. I've just uploaded gmime 2.6.19-2 to unstable to address this issue. --dkg ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-11 3:47 ` fix for failing tests with gmime 2.6.19 Daniel Kahn Gillmor @ 2013-11-11 11:57 ` David Bremner 2013-11-11 13:42 ` David Bremner 2013-11-11 14:59 ` Tomi Ollila 0 siblings, 2 replies; 13+ messages in thread From: David Bremner @ 2013-11-11 11:57 UTC (permalink / raw) To: Daniel Kahn Gillmor, notmuch Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: > > Please don't introduce this cruft into the notmuch codebase. It should > be fixed in gmime, not worked-around notmuch. > > I've just uploaded gmime 2.6.19-2 to unstable to address this issue. > Hi Daniel; Thanks a lot for that. What I (still) wonder about is all the people not running Debian, in the interval between the release of notmuch 0.17 and the next upstream release of gmime (and propagation to various distros). Even on Debian, building on testing and backports complicates things a bit. d ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-11 11:57 ` David Bremner @ 2013-11-11 13:42 ` David Bremner 2013-11-16 20:16 ` Jameson Graef Rollins 2013-11-11 14:59 ` Tomi Ollila 1 sibling, 1 reply; 13+ messages in thread From: David Bremner @ 2013-11-11 13:42 UTC (permalink / raw) To: Daniel Kahn Gillmor, notmuch David Bremner <david@tethera.net> writes: > Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: > >> >> Please don't introduce this cruft into the notmuch codebase. It should >> be fixed in gmime, not worked-around notmuch. >> >> I've just uploaded gmime 2.6.19-2 to unstable to address this issue. >> > > Hi Daniel; > > Thanks a lot for that. > > What I (still) wonder about is all the people not running Debian, in the > interval between the release of notmuch 0.17 and the next upstream > release of gmime (and propagation to various distros). Even on Debian, > building on testing and backports complicates things a bit. An alternative approach would be to fix NOTMUCH_SKIP_TESTS="reply reply-to-sender multipart.37 from-guessing" ./notmuch-test to return exist status 0, and ideally to print the correct number of tests skipped. I think the former just requires patching line 85 of aggregate-results.sh. I don't see an easy way to do the latter. This is arguably less crufty, or at least uses existing cruft. On the other hand, it doesn't distinguish between a test printing an extra space, and complete garbage. d ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-11 13:42 ` David Bremner @ 2013-11-16 20:16 ` Jameson Graef Rollins 2013-11-16 23:00 ` David Bremner 0 siblings, 1 reply; 13+ messages in thread From: Jameson Graef Rollins @ 2013-11-16 20:16 UTC (permalink / raw) To: David Bremner, Daniel Kahn Gillmor, notmuch [-- Attachment #1: Type: text/plain, Size: 1673 bytes --] On Mon, Nov 11 2013, David Bremner <david@tethera.net> wrote: > David Bremner <david@tethera.net> writes: > >> Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: >> >>> >>> Please don't introduce this cruft into the notmuch codebase. It should >>> be fixed in gmime, not worked-around notmuch. >>> >>> I've just uploaded gmime 2.6.19-2 to unstable to address this issue. >>> >> >> Hi Daniel; >> >> Thanks a lot for that. >> >> What I (still) wonder about is all the people not running Debian, in the >> interval between the release of notmuch 0.17 and the next upstream >> release of gmime (and propagation to various distros). Even on Debian, >> building on testing and backports complicates things a bit. > > An alternative approach would be to fix > > NOTMUCH_SKIP_TESTS="reply reply-to-sender multipart.37 from-guessing" ./notmuch-test > > to return exist status 0, and ideally to print the correct number of > tests skipped. > > I think the former just requires patching line 85 of > aggregate-results.sh. I don't see an easy way to do the latter. > > This is arguably less crufty, or at least uses existing cruft. On the > other hand, it doesn't distinguish between a test printing an extra > space, and complete garbage. I agree with Daniel that the original series adds a whole lot of undesirable cruft to the test suite to get around one transient issue in one of the notmuch dependencies. That doesn't seem like the best thing to do imho. I would vote for this option instead, which doesn't modify the test suite and just skips the affected tests until the new gmime versions falls through everywhere. jamie. [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-16 20:16 ` Jameson Graef Rollins @ 2013-11-16 23:00 ` David Bremner 0 siblings, 0 replies; 13+ messages in thread From: David Bremner @ 2013-11-16 23:00 UTC (permalink / raw) To: Jameson Graef Rollins, Daniel Kahn Gillmor, notmuch Jameson Graef Rollins <jrollins@finestructure.net> writes: > I agree with Daniel that the original series adds a whole lot of > undesirable cruft to the test suite to get around one transient issue in > one of the notmuch dependencies. That doesn't seem like the best thing > to do imho. I would vote for this option instead, which doesn't modify > the test suite and just skips the affected tests until the new gmime > versions falls through everywhere. FWIW, it does modify the test suite. The patch-which-no-one-wrote-yet-but-probably-isn't-that-hard would have to change the test suite to not treat skipped tests as errors. I'm not sure whether that's a harmless change or not. Missing prerequisites also cause tests to be skipped, so in a sense this a change with more repercussions. d ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-11 11:57 ` David Bremner 2013-11-11 13:42 ` David Bremner @ 2013-11-11 14:59 ` Tomi Ollila 2013-11-11 16:01 ` Jani Nikula 1 sibling, 1 reply; 13+ messages in thread From: Tomi Ollila @ 2013-11-11 14:59 UTC (permalink / raw) To: David Bremner, Daniel Kahn Gillmor, notmuch On Mon, Nov 11 2013, David Bremner <david@tethera.net> wrote: > Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: > >> >> Please don't introduce this cruft into the notmuch codebase. It should >> be fixed in gmime, not worked-around notmuch. >> >> I've just uploaded gmime 2.6.19-2 to unstable to address this issue. >> > > Hi Daniel; > > Thanks a lot for that. > > What I (still) wonder about is all the people not running Debian, in the > interval between the release of notmuch 0.17 and the next upstream > release of gmime (and propagation to various distros). Even on Debian, > building on testing and backports complicates things a bit. Something like this could also be used... diff --git a/notmuch-reply.c b/notmuch-reply.c index 9d6f843..2ab0f6e 100644 --- a/notmuch-reply.c +++ b/notmuch-reply.c @@ -26,6 +26,7 @@ static void show_reply_headers (GMimeMessage *message) { +#if ! GMIME_CHECK_VERSION(2,6,19) GMimeStream *stream_stdout = NULL; stream_stdout = g_mime_stream_file_new (stdout); @@ -35,6 +36,17 @@ show_reply_headers (GMimeMessage *message) g_mime_object_write_to_stream (GMIME_OBJECT(message), stream_stdout); g_object_unref(stream_stdout); } +#else + char * msg = g_mime_object_to_string (GMIME_OBJECT(message)); + char * rp = strstr (msg, "References: "); + if (rp) { + fwrite (msg, 1, rp - msg + 12, stdout); // Up to 'References: ' + fputs (rp + 13, stdout); + } + else { + fputs (msg, stdout); + } +#endif } static void > > d Tomi ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-11 14:59 ` Tomi Ollila @ 2013-11-11 16:01 ` Jani Nikula 0 siblings, 0 replies; 13+ messages in thread From: Jani Nikula @ 2013-11-11 16:01 UTC (permalink / raw) To: Tomi Ollila; +Cc: Notmuch Mail, Daniel Kahn Gillmor [-- Attachment #1: Type: text/plain, Size: 2019 bytes --] Gmime doesn't do anything standards incompliant, so I'd prefer patching the test suite. Which is also why I'd like to work around this in notmuch. On Nov 11, 2013 4:59 PM, "Tomi Ollila" <tomi.ollila@iki.fi> wrote: > On Mon, Nov 11 2013, David Bremner <david@tethera.net> wrote: > > > Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes: > > > >> > >> Please don't introduce this cruft into the notmuch codebase. It should > >> be fixed in gmime, not worked-around notmuch. > >> > >> I've just uploaded gmime 2.6.19-2 to unstable to address this issue. > >> > > > > Hi Daniel; > > > > Thanks a lot for that. > > > > What I (still) wonder about is all the people not running Debian, in the > > interval between the release of notmuch 0.17 and the next upstream > > release of gmime (and propagation to various distros). Even on Debian, > > building on testing and backports complicates things a bit. > > Something like this could also be used... > > diff --git a/notmuch-reply.c b/notmuch-reply.c > index 9d6f843..2ab0f6e 100644 > --- a/notmuch-reply.c > +++ b/notmuch-reply.c > @@ -26,6 +26,7 @@ > static void > show_reply_headers (GMimeMessage *message) > { > +#if ! GMIME_CHECK_VERSION(2,6,19) > GMimeStream *stream_stdout = NULL; > > stream_stdout = g_mime_stream_file_new (stdout); > @@ -35,6 +36,17 @@ show_reply_headers (GMimeMessage *message) > g_mime_object_write_to_stream (GMIME_OBJECT(message), > stream_stdout); > g_object_unref(stream_stdout); > } > +#else > + char * msg = g_mime_object_to_string (GMIME_OBJECT(message)); > + char * rp = strstr (msg, "References: "); > + if (rp) { > + fwrite (msg, 1, rp - msg + 12, stdout); // Up to 'References: ' > + fputs (rp + 13, stdout); > + } > + else { > + fputs (msg, stdout); > + } > +#endif > } > > static void > > > > > > d > > Tomi > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch > [-- Attachment #2: Type: text/html, Size: 2830 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: fix for failing tests with gmime 2.6.19 2013-11-10 16:21 fix for failing tests with gmime 2.6.19 David Bremner ` (2 preceding siblings ...) 2013-11-11 3:47 ` fix for failing tests with gmime 2.6.19 Daniel Kahn Gillmor @ 2013-11-18 17:54 ` Tomi Ollila 3 siblings, 0 replies; 13+ messages in thread From: Tomi Ollila @ 2013-11-18 17:54 UTC (permalink / raw) To: David Bremner, notmuch On Sun, Nov 10 2013, David Bremner <david@tethera.net> wrote: > Although Jeffrey Stedfast fixed gmime bug 711305 amazingly quickly, it > looks like many people still have to live with a buggy version of > gmime for a while yet. Here is an opt-in fix that stops the test suite > from failing; this is a simple fix for e.g. the debian build process. After looking throught all the comments and thinking about the options I see the following 2 options 1) Keep things as those currently are. Anyone who runs tests when gmime 2.6.19 is in use will see some tests fail (and some may not have a clue what's going on). We could mention this first thing in the NEWS so that the "professional" users who run test *and* reads NEWS will get the clue. 2) Push the current patches to release branch *only* (maybe the test could be changed to if [ pkg-config --exact-version=2.6.19 gmime-2.6 ] (*) instead of checking the WORKAROUNDS flag so that users would not have to bother (and some may not have a clue what's going on)). During merge to master (as it has been done in the past) these changes would probably be dropped. 2b) Merge to master, release 0.17, follow gmime deployments, revert patches. IMHO for temporary problems there could be temporary cruft (which would not be cruft if the problem wasn't temporary). The test system must be as strict as it can be to ensure best failure coverage. Tomi (*) The fastest (& most cruftiest) implementation: notmuch_reply_sanitize () { if pkg-config --exact-version=2.6.19 gmime-2.6 >/dev/null then notmuch_reply_sanitize () { # work around GMIME bug #711305 sed -e 's/^References: /References: /' } else notmuch_reply_sanitize () { cat } fi notmuch_reply_sanitize # call just rewritten version of this function } ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2013-11-18 17:55 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-11-10 16:21 fix for failing tests with gmime 2.6.19 David Bremner 2013-11-10 16:21 ` [PATCH 1/2] test: add optional workaround for gmime bug David Bremner 2013-11-10 16:21 ` [PATCH 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner 2013-11-11 3:15 ` [Patch v2 1/2] test: add optional workaround for gmime bug David Bremner 2013-11-11 3:15 ` [Patch v2 2/2] test: work around gmime bug using notmuch_reply_sanitize David Bremner 2013-11-11 3:47 ` fix for failing tests with gmime 2.6.19 Daniel Kahn Gillmor 2013-11-11 11:57 ` David Bremner 2013-11-11 13:42 ` David Bremner 2013-11-16 20:16 ` Jameson Graef Rollins 2013-11-16 23:00 ` David Bremner 2013-11-11 14:59 ` Tomi Ollila 2013-11-11 16:01 ` Jani Nikula 2013-11-18 17:54 ` Tomi Ollila
Code repositories for project(s) associated with this public inbox https://yhetil.org/notmuch.git/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).