aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2012-08-05 15:13:13 -0300
committerGravatar David Bremner <bremner@debian.org>2012-12-02 19:09:01 -0400
commit953c3fa853749bd647611c1258b282fb09fb1fdf (patch)
treecbba237b4a77d6d144843820b576bf7a781ef606 /test
parent76fa93e2a2002940335c941e76e94d69abd71fe9 (diff)
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).
Diffstat (limited to 'test')
-rwxr-xr-xtest/dump-restore20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/dump-restore b/test/dump-restore
index b05399ca..bf312661 100755
--- a/test/dump-restore
+++ b/test/dump-restore
@@ -85,4 +85,24 @@ test_begin_subtest "dump --output=outfile -- 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_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