X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Fdump-restore;h=0004438db493514fed25c95fe244c0eab1767a06;hp=6a989b61c41fa44c5bac4d81ab79a3d9f5c78e9e;hb=84719b08f757a6079f4c3331d0c476d19b265948;hpb=0f066ece0f6aa7c02116f8ba3f06b5a005091678 diff --git a/test/dump-restore b/test/dump-restore index 6a989b61..0004438d 100755 --- a/test/dump-restore +++ b/test/dump-restore @@ -136,6 +136,45 @@ notmuch dump --format=batch-tag > BACKUP notmuch tag +"$tag1" +"$tag2" +"$tag3" -inbox -unread "*" +# initial segment of file used for several tests below. +cat < comments-and-blanks +# this is a comment + +# next line has leading whitespace + + +EOF + +test_begin_subtest 'restoring empty file is not an error' +notmuch restore < /dev/null 2>OUTPUT.$test_count +cp /dev/null EXPECTED +test_expect_equal_file EXPECTED OUTPUT.$test_count + +test_begin_subtest 'file of comments and blank lines is not an error' +notmuch restore --input=comments-and-blanks +ret_val=$? +test_expect_equal "$ret_val" "0" + +cp comments-and-blanks leading-comments-blanks-batch-tag +echo "+some_tag -- id:yun1vjwegii.fsf@aiko.keithp.com" \ + >> leading-comments-blanks-batch-tag + +test_begin_subtest 'detect format=batch-tag with leading comments and blanks' +notmuch restore --input=leading-comments-blanks-batch-tag +notmuch search --output=tags id:yun1vjwegii.fsf@aiko.keithp.com > OUTPUT.$test_count +echo "some_tag" > EXPECTED +test_expect_equal_file EXPECTED OUTPUT.$test_count + +cp comments-and-blanks leading-comments-blanks-sup +echo "yun1vjwegii.fsf@aiko.keithp.com (another_tag)" \ + >> leading-comments-blanks-sup + +test_begin_subtest 'detect format=sup with leading comments and blanks' +notmuch restore --input=leading-comments-blanks-sup +notmuch search --output=tags id:yun1vjwegii.fsf@aiko.keithp.com > OUTPUT.$test_count +echo "another_tag" > EXPECTED +test_expect_equal_file EXPECTED OUTPUT.$test_count + test_begin_subtest 'format=batch-tag, round trip with strange tags' notmuch dump --format=batch-tag > EXPECTED.$test_count notmuch dump --format=batch-tag | notmuch restore --format=batch-tag @@ -195,23 +234,39 @@ a # the previous line was blank; also no yelling please +%zz -- id:whatever -+e +f id:%yy ++e +f id:" ++e +f tag:abc # the next non-comment line should report an an empty tag error for # batch tagging, but not for restore + +e -- id:20091117232137.GA7669@griffis1.net -# highlight the sketchy id parsing; this should be last -+g -- id:foo and bar +# valid id, but warning about missing message ++e id:missing_message_id +# exercise parser ++e -- id:some)stuff ++e -- id:some stuff ++e -- id:some"stuff ++e -- id:"a_message_id_with""_a_quote" ++e -- id:"a message id with spaces" ++e -- id:an_id_with_leading_and_trailing_ws \ + EOF cat < EXPECTED -Warning: unsupported query: a +Warning: cannot parse query: a (skipping) Warning: no query string [+0] Warning: no query string [+a +b] Warning: missing query string [+a +b ] Warning: no query string after -- [+c +d --] Warning: hex decoding of tag %zz failed [+%zz -- id:whatever] -Warning: hex decoding of query id:%yy failed [+e +f id:%yy] -Warning: cannot apply tags to missing message: foo and bar +Warning: cannot parse query: id:" (skipping) +Warning: not an id query: tag:abc (skipping) +Warning: cannot apply tags to missing message: missing_message_id +Warning: cannot parse query: id:some)stuff (skipping) +Warning: cannot parse query: id:some stuff (skipping) +Warning: cannot apply tags to missing message: some"stuff +Warning: cannot apply tags to missing message: a_message_id_with"_a_quote +Warning: cannot apply tags to missing message: a message id with spaces +Warning: cannot apply tags to missing message: an_id_with_leading_and_trailing_ws EOF test_expect_equal_file EXPECTED OUTPUT