test/dump-restore: new tests for empty files and leading comments/whitespace.
authorDavid Bremner <bremner@debian.org>
Wed, 26 Dec 2012 19:36:32 +0000 (15:36 -0400)
committerDavid Bremner <bremner@debian.org>
Sun, 6 Jan 2013 13:35:41 +0000 (09:35 -0400)
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.

test/dump-restore

index 6a989b61c41fa44c5bac4d81ab79a3d9f5c78e9e..c2ddb921c55a3ae242862da93ac22dcafc8a67ad 100755 (executable)
@@ -136,6 +136,48 @@ notmuch dump --format=batch-tag > BACKUP
 
 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'
 notmuch dump --format=batch-tag > EXPECTED.$test_count
 notmuch dump --format=batch-tag | notmuch restore --format=batch-tag