diff options
author | David Bremner <bremner@debian.org> | 2012-12-25 15:42:41 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2013-01-07 20:49:00 -0400 |
commit | 45c593095b9be9f28971c36aebf47520f7929bc4 (patch) | |
tree | f079fd440f13bf95fce752e95c8f1c74455689dd /test | |
parent | 3f9cc3d082b812d2c96a2326786501056cd4caca (diff) |
test/tagging: add test for error messages of tag --batch
This is based on the similar test for notmuch restore, but the parser
in batch tagging mode is less tolerant of a few cases, in particular
those tested by illegal_tag.
Diffstat (limited to 'test')
-rwxr-xr-x | test/tagging | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/tagging b/test/tagging index 980ff927..cd16585d 100755 --- a/test/tagging +++ b/test/tagging @@ -46,6 +46,41 @@ test_expect_equal "$output" "\ thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (:\" inbox tag1 unread) thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag4 unread)" +test_begin_subtest '--batch: checking error messages' +notmuch dump --format=batch-tag > BACKUP +notmuch tag --batch <<EOF 2>OUTPUT +# the next line has a space + +# this line has no tag operations, but this is permitted in batch format. +a ++0 ++a +b +# trailing whitespace ++a +b ++c +d -- +# this is a harmless comment, do not yell about it. + +# the previous line was blank; also no yelling please ++%zz -- id:whatever +# the next non-comment line should report an an empty tag error for +# batch tagging, but not for restore ++ +e -- id:foo ++- -- id:foo +EOF + +cat <<EOF > EXPECTED +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: empty tag forbidden [+ +e -- id:foo] +Warning: tag starting with '-' forbidden [+- -- id:foo] +EOF + +notmuch restore --format=batch-tag < BACKUP +test_expect_equal_file EXPECTED OUTPUT + test_expect_code 1 "Empty tag names" 'notmuch tag + One' test_expect_code 1 "Tag name beginning with -" 'notmuch tag +- One' |