test: add nontrivial test for restore --accumulate.
authorDavid Bremner <bremner@debian.org>
Fri, 16 Nov 2012 12:31:19 +0000 (08:31 -0400)
committerDavid Bremner <bremner@debian.org>
Sat, 17 Nov 2012 14:24:24 +0000 (10:24 -0400)
It seems we have never tested the case that restore --accumulate
actually adds tags. I noticed this when I started optimizing and no
tests failed.

The bracketing with "restore --input=dump.expected" are to make sure
we start in a known state, and we leave the database in a known state
for the next test.

test/dump-restore

index 7acf7fe430588da751069b375e216e6c754c8843..b05399ca4c0d70c07416a52296d6a7a8eb745324 100755 (executable)
@@ -49,6 +49,13 @@ test_expect_success 'Accumulate with no tags' \
   notmuch dump > dump.actual &&
   test_cmp dump.expected dump.actual'
 
   notmuch dump > dump.actual &&
   test_cmp dump.expected dump.actual'
 
+test_expect_success 'Accumulate with new tags' \
+  'notmuch restore --input=dump.expected &&
+  notmuch restore --accumulate --input=dump-ABC_DEF.expected &&
+  notmuch dump >  OUTPUT.$test_count &&
+  notmuch restore --input=dump.expected &&
+  test_cmp dump-ABC_DEF.expected OUTPUT.$test_count'
+
 # notmuch restore currently only considers the first argument.
 test_expect_success 'Invalid restore invocation' \
   'test_must_fail notmuch restore --input=dump.expected another_one'
 # notmuch restore currently only considers the first argument.
 test_expect_success 'Invalid restore invocation' \
   'test_must_fail notmuch restore --input=dump.expected another_one'