Quoth David Bremner on Dec 08 at 11:52 pm:
> 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\\\" <[email protected]>\""
>  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 <[email protected]>
> -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 <[email protected]> (2001-01-05) (inbox)
>  Subject: The problem with top-posting
>  To: Notmuch Test Suite <[email protected]>
> -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 <[email protected]> (2001-01-05) (inbox unread)
>  Subject: Re: The problem with top-posting
>  To: Notmuch Test Suite <[email protected]>
> -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 <[email protected]> (2001-01-05) (inbox)
>  Subject: Hiding Original Message region at beginning of a message
>  To: Notmuch Test Suite <[email protected]>
> -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 <[email protected]> (2001-01-05) (inbox)
>  Subject: id buttonization
>  To: Notmuch Test Suite <[email protected]>
> -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" "message{ 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)

This may be orthogonal to this series, but I don't get why we have
both notmuch_show_sanitize and notmuch_show_sanitize_all (especially
when the "all" version is not obviously a superset of the non-"all"
version!)  Do you have a sense for whether these two functions could
be easily merged?

> +test_expect_equal "$output" "message{ id:XXXXX depth:0 match:1 excluded:0 
> filename:XXXXX
>  header{
>  Notmuch Test Suite <[email protected]> (2001-01-05) (inbox unread)
>  Subject: Message with text of unknown charset
>  From: Notmuch Test Suite <[email protected]>
>  To: Notmuch Test Suite <[email protected]>
> -Date: Fri, 05 Jan 2001 15:43:57 +0000
> +Date: GENERATED_DATE
>  header}
>  body{
>  part{ 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 
> <[email protected]>
>  To: Notmuch Test Suite <[email protected]>
>  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 
> <[email protected]>
>  To: Notmuch Test Suite <[email protected]>
>  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|'

Rather than (nearly) duplicating the regexp, does it work to pipe this
through notmuch_date_sanitize?  Or do the minor differences matter?

>  }
>  
>  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.
_______________________________________________
notmuch mailing list
[email protected]
http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to