[PATCH v2 3/4] test: notmuch search --format=text0
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
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
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
--- 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
--- 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