test/dump-restore: new tests for empty files and leading comments/whitespace.

Three of these are marked broken; the third is a regression test,
since it passes by virtue of batch-tag being the default input format.
This commit is contained in:
David Bremner 2012-12-26 15:36:32 -04:00
parent 8d05dcfffe
commit 4dea9bb442

View file

@ -136,6 +136,48 @@ notmuch dump --format=batch-tag > BACKUP
notmuch tag +"$tag1" +"$tag2" +"$tag3" -inbox -unread "*" notmuch tag +"$tag1" +"$tag2" +"$tag3" -inbox -unread "*"
# initial segment of file used for several tests below.
cat <<EOF > comments-and-blanks
# this is a comment
# next line has leading whitespace
EOF
test_begin_subtest 'restoring empty file is not an error'
test_subtest_known_broken
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'
test_subtest_known_broken
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'
test_subtest_known_broken
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' test_begin_subtest 'format=batch-tag, round trip with strange tags'
notmuch dump --format=batch-tag > EXPECTED.$test_count notmuch dump --format=batch-tag > EXPECTED.$test_count
notmuch dump --format=batch-tag | notmuch restore --format=batch-tag notmuch dump --format=batch-tag | notmuch restore --format=batch-tag