[PATCH v2 3/4] test: notmuch search --format=text0

2012-12-16 Thread Austin Clements
On Sun, 09 Dec 2012, Jani Nikula  wrote:
> ---
>  test/text |   29 +
>  1 file changed, 29 insertions(+)
>
> diff --git a/test/text b/test/text
> index 428c89b..e003a66 100755
> --- a/test/text
> +++ b/test/text
> @@ -52,4 +52,33 @@ output=$(notmuch search --format=text 
> "t?xt-search-m?ssage" | notmuch_search_s
>  test_expect_equal "$output" \
>  "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; 
> text-search-utf8-body-s?bj?ct (inbox unread)"
>  
> +add_email_corpus
> +
> +test_begin_subtest "Search message tags: text0"
> +cat < EXPECTED.$test_count

Other tests use just OUTPUT and EXPECTED.  Why the $test_count?  Is
there a technical reason for it?

> +attachment inbox signed unread
> +EOF
> +notmuch search --format=text0 --output=tags '*' | xargs -0 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for threads"
> +notmuch search --format=text --output=threads '*' | notmuch_search_sanitize 
> > EXPECTED.$test_count
> +notmuch search --format=text0 --output=threads '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count

I think it would be worth "strengthening" these tests as Mark pointed
out.  It would be easy to accidentally include a literal \n in the
output instead of calling the separator method, and this test wouldn't
catch that.  I think Mark's suggestion with tr is pretty good, since it
directly disambiguates \0 and \n in the output, while producing a
reasonable diff if things do go wrong.

> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for messages"
> +notmuch search --format=text --output=messages '*' | notmuch_search_sanitize 
> > EXPECTED.$test_count
> +notmuch search --format=text0 --output=messages '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for files"
> +notmuch search --format=text --output=files '*' | notmuch_search_sanitize > 
> EXPECTED.$test_count
> +notmuch search --format=text0 --output=files '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for tags"
> +notmuch search --format=text --output=tags '*' | notmuch_search_sanitize > 
> EXPECTED.$test_count
> +notmuch search --format=text0 --output=tags '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
>  test_done
> -- 
> 1.7.10.4
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH v2 3/4] test: notmuch search --format=text0

2012-12-16 Thread Mark Walters

On Sun, 09 Dec 2012, Jani Nikula  wrote:
> ---
>  test/text |   29 +
>  1 file changed, 29 insertions(+)
>
> diff --git a/test/text b/test/text
> index 428c89b..e003a66 100755
> --- a/test/text
> +++ b/test/text
> @@ -52,4 +52,33 @@ output=$(notmuch search --format=text 
> "t?xt-search-m?ssage" | notmuch_search_s
>  test_expect_equal "$output" \
>  "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; 
> text-search-utf8-body-s?bj?ct (inbox unread)"
>  
> +add_email_corpus
> +
> +test_begin_subtest "Search message tags: text0"
> +cat < EXPECTED.$test_count
> +attachment inbox signed unread
> +EOF
> +notmuch search --format=text0 --output=tags '*' | xargs -0 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for threads"
> +notmuch search --format=text --output=threads '*' | notmuch_search_sanitize 
> > EXPECTED.$test_count
> +notmuch search --format=text0 --output=threads '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count

Hi

These xargs -0 -L1 tests almost pass with format=text (no zero) passed:
the output only differs in one newline at the end. Would it be worth
strengthening the test at all? I don't have any good suggestion but
replacing the xargs with
tr '\n\0' ' \n'
seemed to give clearly different output in the two cases (and the test
passes as it stands).

OTOH maybe the test before is sufficient in that respect.

Best wishes

Mark


> +
> +test_begin_subtest "Compare text vs. text0 for messages"
> +notmuch search --format=text --output=messages '*' | notmuch_search_sanitize 
> > EXPECTED.$test_count
> +notmuch search --format=text0 --output=messages '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for files"
> +notmuch search --format=text --output=files '*' | notmuch_search_sanitize > 
> EXPECTED.$test_count
> +notmuch search --format=text0 --output=files '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
> +test_begin_subtest "Compare text vs. text0 for tags"
> +notmuch search --format=text --output=tags '*' | notmuch_search_sanitize > 
> EXPECTED.$test_count
> +notmuch search --format=text0 --output=tags '*' | xargs -0 -L1 | 
> notmuch_search_sanitize > OUTPUT.$test_count
> +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
> +
>  test_done
> -- 
> 1.7.10.4


Re: [PATCH v2 3/4] test: notmuch search --format=text0

2012-12-16 Thread Austin Clements
On Sun, 09 Dec 2012, Jani Nikula j...@nikula.org wrote:
 ---
  test/text |   29 +
  1 file changed, 29 insertions(+)

 diff --git a/test/text b/test/text
 index 428c89b..e003a66 100755
 --- a/test/text
 +++ b/test/text
 @@ -52,4 +52,33 @@ output=$(notmuch search --format=text 
 tëxt-search-méssage | notmuch_search_s
  test_expect_equal $output \
  thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; 
 text-search-utf8-body-sübjéct (inbox unread)
  
 +add_email_corpus
 +
 +test_begin_subtest Search message tags: text0
 +cat EOF  EXPECTED.$test_count

Other tests use just OUTPUT and EXPECTED.  Why the $test_count?  Is
there a technical reason for it?

 +attachment inbox signed unread
 +EOF
 +notmuch search --format=text0 --output=tags '*' | xargs -0 | 
 notmuch_search_sanitize  OUTPUT.$test_count
 +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
 +
 +test_begin_subtest Compare text vs. text0 for threads
 +notmuch search --format=text --output=threads '*' | notmuch_search_sanitize 
  EXPECTED.$test_count
 +notmuch search --format=text0 --output=threads '*' | xargs -0 -L1 | 
 notmuch_search_sanitize  OUTPUT.$test_count

I think it would be worth strengthening these tests as Mark pointed
out.  It would be easy to accidentally include a literal \n in the
output instead of calling the separator method, and this test wouldn't
catch that.  I think Mark's suggestion with tr is pretty good, since it
directly disambiguates \0 and \n in the output, while producing a
reasonable diff if things do go wrong.

 +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
 +
 +test_begin_subtest Compare text vs. text0 for messages
 +notmuch search --format=text --output=messages '*' | notmuch_search_sanitize 
  EXPECTED.$test_count
 +notmuch search --format=text0 --output=messages '*' | xargs -0 -L1 | 
 notmuch_search_sanitize  OUTPUT.$test_count
 +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
 +
 +test_begin_subtest Compare text vs. text0 for files
 +notmuch search --format=text --output=files '*' | notmuch_search_sanitize  
 EXPECTED.$test_count
 +notmuch search --format=text0 --output=files '*' | xargs -0 -L1 | 
 notmuch_search_sanitize  OUTPUT.$test_count
 +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
 +
 +test_begin_subtest Compare text vs. text0 for tags
 +notmuch search --format=text --output=tags '*' | notmuch_search_sanitize  
 EXPECTED.$test_count
 +notmuch search --format=text0 --output=tags '*' | xargs -0 -L1 | 
 notmuch_search_sanitize  OUTPUT.$test_count
 +test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
 +
  test_done
 -- 
 1.7.10.4

 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH v2 3/4] test: notmuch search --format=text0

2012-12-09 Thread Jani Nikula
---
 test/text |   29 +
 1 file changed, 29 insertions(+)

diff --git a/test/text b/test/text
index 428c89b..e003a66 100755
--- a/test/text
+++ b/test/text
@@ -52,4 +52,33 @@ output=$(notmuch search --format=text "t?xt-search-m?ssage" 
| notmuch_search_s
 test_expect_equal "$output" \
 "thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; 
text-search-utf8-body-s?bj?ct (inbox unread)"

+add_email_corpus
+
+test_begin_subtest "Search message tags: text0"
+cat < EXPECTED.$test_count
+attachment inbox signed unread
+EOF
+notmuch search --format=text0 --output=tags '*' | xargs -0 | 
notmuch_search_sanitize > OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest "Compare text vs. text0 for threads"
+notmuch search --format=text --output=threads '*' | notmuch_search_sanitize > 
EXPECTED.$test_count
+notmuch search --format=text0 --output=threads '*' | xargs -0 -L1 | 
notmuch_search_sanitize > OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest "Compare text vs. text0 for messages"
+notmuch search --format=text --output=messages '*' | notmuch_search_sanitize > 
EXPECTED.$test_count
+notmuch search --format=text0 --output=messages '*' | xargs -0 -L1 | 
notmuch_search_sanitize > OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest "Compare text vs. text0 for files"
+notmuch search --format=text --output=files '*' | notmuch_search_sanitize > 
EXPECTED.$test_count
+notmuch search --format=text0 --output=files '*' | xargs -0 -L1 | 
notmuch_search_sanitize > OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest "Compare text vs. text0 for tags"
+notmuch search --format=text --output=tags '*' | notmuch_search_sanitize > 
EXPECTED.$test_count
+notmuch search --format=text0 --output=tags '*' | xargs -0 -L1 | 
notmuch_search_sanitize > OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
 test_done
-- 
1.7.10.4



[PATCH v2 3/4] test: notmuch search --format=text0

2012-12-09 Thread Jani Nikula
---
 test/text |   29 +
 1 file changed, 29 insertions(+)

diff --git a/test/text b/test/text
index 428c89b..e003a66 100755
--- a/test/text
+++ b/test/text
@@ -52,4 +52,33 @@ output=$(notmuch search --format=text tëxt-search-méssage 
| notmuch_search_s
 test_expect_equal $output \
 thread:XXX   2000-01-01 [1/1] Notmuch Test Suite; 
text-search-utf8-body-sübjéct (inbox unread)
 
+add_email_corpus
+
+test_begin_subtest Search message tags: text0
+cat EOF  EXPECTED.$test_count
+attachment inbox signed unread
+EOF
+notmuch search --format=text0 --output=tags '*' | xargs -0 | 
notmuch_search_sanitize  OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest Compare text vs. text0 for threads
+notmuch search --format=text --output=threads '*' | notmuch_search_sanitize  
EXPECTED.$test_count
+notmuch search --format=text0 --output=threads '*' | xargs -0 -L1 | 
notmuch_search_sanitize  OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest Compare text vs. text0 for messages
+notmuch search --format=text --output=messages '*' | notmuch_search_sanitize  
EXPECTED.$test_count
+notmuch search --format=text0 --output=messages '*' | xargs -0 -L1 | 
notmuch_search_sanitize  OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest Compare text vs. text0 for files
+notmuch search --format=text --output=files '*' | notmuch_search_sanitize  
EXPECTED.$test_count
+notmuch search --format=text0 --output=files '*' | xargs -0 -L1 | 
notmuch_search_sanitize  OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
+test_begin_subtest Compare text vs. text0 for tags
+notmuch search --format=text --output=tags '*' | notmuch_search_sanitize  
EXPECTED.$test_count
+notmuch search --format=text0 --output=tags '*' | xargs -0 -L1 | 
notmuch_search_sanitize  OUTPUT.$test_count
+test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
+
 test_done
-- 
1.7.10.4

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch