test: add broken roundtrip test

We demonstrate the current notmuch restore parser being confused by
message-id's and tags containing non alpha numeric characters
(particularly space and parentheses are problematic because they are
not escaped by notmuch dump).

We save the files as hex escaped on disk so that terminal emulators
will not get confused if the test fails (as we mostly expect it to do).
This commit is contained in:
David Bremner 2012-08-05 15:13:13 -03:00
parent 76fa93e2a2
commit 953c3fa853

View file

@ -85,4 +85,24 @@ test_begin_subtest "dump --output=outfile -- from:cworth"
notmuch dump --output=dump-outfile-dash-inbox.actual -- from:cworth notmuch dump --output=dump-outfile-dash-inbox.actual -- from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual
test_begin_subtest 'roundtripping random message-ids and tags'
test_subtest_known_broken
${TEST_DIRECTORY}/random-corpus --config-path=${NOTMUCH_CONFIG} \
--num-messages=10
notmuch dump| \
${TEST_DIRECTORY}/hex-xcode --direction=encode| \
sort > EXPECTED.$test_count
notmuch tag +this_tag_is_very_unlikely_to_be_random '*'
${TEST_DIRECTORY}/hex-xcode --direction=decode < EXPECTED.$test_count | \
notmuch restore 2>/dev/null
notmuch dump| \
${TEST_DIRECTORY}/hex-xcode --direction=encode| \
sort > OUTPUT.$test_count
test_expect_equal_file EXPECTED.$test_count OUTPUT.$test_count
test_done test_done