From: David Bremner <david@tethera.net>
To: notmuch@notmuchmail.org
Subject: [PATCH 3/4] test: sanitize dates in emacs, raw, and text output
Date: Sun, 8 Dec 2013 23:52:25 +0800 [thread overview]
Message-ID: <1386517946-22054-4-git-send-email-david@tethera.net> (raw)
In-Reply-To: <1386517946-22054-1-git-send-email-david@tethera.net>
add a new function notmuch_date_sanitize for rfc822-ish things. Add
date sanitization to notmuch_show_sanitize_all and use it more places.
This is all in aid of a transition to unique timestamps on messages.
---
test/emacs | 12 +++++++-----
test/emacs-show | 10 ++++++----
test/encoding | 8 ++++----
test/raw | 8 ++++----
test/test-lib.sh | 9 ++++++++-
5 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/test/emacs b/test/emacs
index 456435c..1b1ebe3 100755
--- a/test/emacs
+++ b/test/emacs
@@ -86,15 +86,16 @@ add_message "[subject]=\"message-with-invalid-from\"" \
"[from]=\"\\\"Invalid \\\" From\\\" <test_suite@notmuchmail.org>\""
thread=$(notmuch search --output=threads subject:message-with-invalid-from)
test_emacs "(notmuch-show \"$thread\")
- (test-output)"
+ (test-output \"OUTPUT.raw\")"
cat <<EOF >EXPECTED
"Invalid " (2001-01-05) (inbox)
Subject: message-with-invalid-from
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
This is just a test message (#1)
EOF
+notmuch_date_sanitize < OUTPUT.raw > OUTPUT
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "Navigation of notmuch-search to thread view"
@@ -605,11 +606,11 @@ Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?"'
test_emacs "(notmuch-show \"top-posting\")
- (test-visible-output)"
+ (test-visible-output \"OUTPUT.raw\")"
echo "Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
Subject: The problem with top-posting
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
@@ -618,13 +619,14 @@ Q: What is the most annoying thing in e-mail?
Top Poster <top@poster.com> (2001-01-05) (inbox unread)
Subject: Re: The problem with top-posting
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
Thanks for the advice! I will be sure to put it to good use.
-Top Poster
[ 9-line hidden original message. Click/Enter to show. ]" > EXPECTED
+notmuch_date_sanitize < OUTPUT.raw > OUTPUT
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "Hiding message in notmuch-show view"
diff --git a/test/emacs-show b/test/emacs-show
index ec86333..2a3a535 100755
--- a/test/emacs-show
+++ b/test/emacs-show
@@ -19,13 +19,14 @@ cat <<EOF >EXPECTED
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
Subject: Hiding Original Message region at beginning of a message
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
[ 2-line hidden original message. Click/Enter to show. ]
EOF
test_emacs "(notmuch-show \"id:$message_id\")
- (test-visible-output)"
+ (test-visible-output \"OUTPUT.raw\")"
+notmuch_date_sanitize < OUTPUT.raw > OUTPUT
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "Bare subject #1"
@@ -130,12 +131,12 @@ mid:abc%20def
mid:abc. mid:abc, mid:abc;"'
test_emacs '(notmuch-show "id:'$gen_msg_id'")
(notmuch-test-mark-links)
- (test-visible-output)'
+ (test-visible-output "OUTPUT.raw")'
cat <<EOF >EXPECTED
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox)
Subject: id buttonization
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
<<id:abc>>
<<id:abc.def>>. <<id:abc,def>>, <<id:abc;def>>; <<id:abc:def>>:
@@ -159,6 +160,7 @@ cid:xxx
<<mid:abc%20def>>
<<mid:abc>>. <<mid:abc>>, <<mid:abc>>;
EOF
+notmuch_date_sanitize < OUTPUT.raw > OUTPUT
test_expect_equal_file OUTPUT EXPECTED
diff --git a/test/encoding b/test/encoding
index 8609652..b6c86bf 100755
--- a/test/encoding
+++ b/test/encoding
@@ -5,14 +5,14 @@ test_description="encoding issues"
test_begin_subtest "Message with text of unknown charset"
add_message '[content-type]="text/plain; charset=unknown-8bit"' \
"[body]=irrelevant"
-output=$(notmuch show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize)
-test_expect_equal "$output" "\fmessage{ id:msg-001@notmuch-test-suite depth:0 match:1 excluded:0 filename:/XXX/mail/msg-001
+output=$(notmuch show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize_all)
+test_expect_equal "$output" "\fmessage{ id:XXXXX depth:0 match:1 excluded:0 filename:XXXXX
\fheader{
Notmuch Test Suite <test_suite@notmuchmail.org> (2001-01-05) (inbox unread)
Subject: Message with text of unknown charset
From: Notmuch Test Suite <test_suite@notmuchmail.org>
To: Notmuch Test Suite <test_suite@notmuchmail.org>
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
\fheader}
\fbody{
\fpart{ ID: 1, Content-type: text/plain
@@ -26,7 +26,7 @@ add_message '[content-type]="text/plain; charset=iso-8859-2"' \
'[content-transfer-encoding]=8bit' \
'[subject]="ISO-8859-2 encoded message"' \
"[body]=$'Czech word tu\350\362\341\350\350\355 means pinguin\'s.'" # ISO-8859-2 characters are generated by shell's escape sequences
-output=$(notmuch search tučňáččí 2>&1 | notmuch_show_sanitize)
+output=$(notmuch search tučňáččí 2>&1 | notmuch_show_sanitize_all)
test_expect_equal "$output" "thread:0000000000000002 2001-01-05 [1/1] Notmuch Test Suite; ISO-8859-2 encoded message (inbox unread)"
test_begin_subtest "RFC 2047 encoded word with spaces"
diff --git a/test/raw b/test/raw
index de0b867..daf5735 100755
--- a/test/raw
+++ b/test/raw
@@ -11,22 +11,22 @@ output=$(notmuch show --format=raw "*" 2>&1)
test_expect_equal "$output" "Error: search term did not match precisely one message."
test_begin_subtest "Show a raw message"
-output=$(notmuch show --format=raw id:msg-001@notmuch-test-suite)
+output=$(notmuch show --format=raw id:msg-001@notmuch-test-suite | notmuch_date_sanitize)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
To: Notmuch Test Suite <test_suite@notmuchmail.org>
Message-Id: <msg-001@notmuch-test-suite>
Subject: Test message #1
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
This is just a test message (#1)"
test_begin_subtest "Show another raw message"
-output=$(notmuch show --format=raw id:msg-002@notmuch-test-suite)
+output=$(notmuch show --format=raw id:msg-002@notmuch-test-suite | notmuch_date_sanitize)
test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
To: Notmuch Test Suite <test_suite@notmuchmail.org>
Message-Id: <msg-002@notmuch-test-suite>
Subject: Test message #2
-Date: Fri, 05 Jan 2001 15:43:57 +0000
+Date: GENERATED_DATE
This is just a test message (#2)"
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 9d2f805..d238c66 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -618,7 +618,8 @@ notmuch_show_sanitize_all ()
{
sed \
-e 's| filename:.*| filename:XXXXX|' \
- -e 's| id:[^ ]* | id:XXXXX |'
+ -e 's| id:[^ ]* | id:XXXXX |' \
+ -e 's|Date: Fri, 05 Jan 2001.*|Date: GENERATED_DATE|'
}
notmuch_json_show_sanitize ()
@@ -641,6 +642,12 @@ notmuch_emacs_error_sanitize ()
-e 's/^\[.*\]$/[XXX]/' \
-e "s|^\(command: \)\{0,1\}/.*/$command|\1YYY/$command|"
}
+
+notmuch_date_sanitize ()
+{
+ sed \
+ -e 's/^Date: Fri, 05 Jan 2001 .*/Date: GENERATED_DATE/'
+}
# End of notmuch helper functions
# Use test_set_prereq to tell that a particular prerequisite is available.
--
1.8.4.3
next prev parent reply other threads:[~2013-12-08 15:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-08 15:52 Give test messages unique timestamps David Bremner
2013-12-08 15:52 ` [PATCH 1/4] test: pass expected output through json_sanitize in 2 places David Bremner
2013-12-08 18:54 ` Tomi Ollila
2013-12-08 15:52 ` [PATCH 2/4] test: sanitize Date and timestamp fields in json David Bremner
2013-12-08 18:59 ` Tomi Ollila
2013-12-08 15:52 ` David Bremner [this message]
2013-12-09 0:25 ` [PATCH 3/4] test: sanitize dates in emacs, raw, and text output Austin Clements
2013-12-09 1:17 ` David Bremner
2013-12-08 15:52 ` [PATCH 4/4] test: give unique timestamps to messages David Bremner
2013-12-08 19:06 ` Tomi Ollila
2013-12-09 1:18 ` David Bremner
2013-12-09 8:20 ` Tomi Ollila
2013-12-09 0:28 ` Austin Clements
2013-12-09 13:36 ` [Patch v2 1/4] test: pass expected output through json_sanitize in 2 places David Bremner
2013-12-09 13:36 ` [Patch v2 2/4] test: sanitize Date and timestamp fields in json David Bremner
2013-12-09 13:36 ` [Patch v2 3/4] test: sanitize dates in emacs, raw, and text output David Bremner
2013-12-09 13:36 ` [Patch v2 4/4] test: give unique timestamps to messages David Bremner
2013-12-09 22:40 ` Tomi Ollila
2013-12-10 0:46 ` David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1386517946-22054-4-git-send-email-david@tethera.net \
--to=david@tethera.net \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).