test/dump-restore: add tests for restore --accumulate
authorDavid Bremner <bremner@debian.org>
Fri, 21 Oct 2011 16:04:46 +0000 (13:04 -0300)
committerDavid Bremner <bremner@debian.org>
Sun, 23 Oct 2011 13:27:57 +0000 (10:27 -0300)
Flesh out what ``notmuch restore --accumulate'' is supposed to do.
Its tests are currently XFAILed; the functionality will be added in
future patch(es).

Based on a patch by Thomas Schwinge:

      id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"

test/dump-restore

index b66db997ed3fd743f16c6c8d5ec1a188db7240f1..0f62d9da2e8b0ad6ffc1c7e333e4eeef0883007f 100755 (executable)
@@ -9,12 +9,27 @@ test_expect_success 'Dumping all tags' \
   notmuch new &&
   notmuch dump > dump.expected'
 
+# The use of from:cworth is rather arbitrary: it matches some of the
+# email corpus' messages, but not all of them.
+
+test_expect_success 'Dumping all tags II' \
+  'notmuch tag +ABC +DEF -- from:cworth &&
+  notmuch dump > dump-ABC_DEF.expected &&
+  ! cmp dump.expected dump-ABC_DEF.expected'
+
 test_expect_success 'Clearing all tags' \
   'sed -e "s/(\([^(]*\))$/()/" < dump.expected > clear.expected &&
   notmuch restore clear.expected &&
   notmuch dump > clear.actual &&
   test_cmp clear.expected clear.actual'
 
+test_subtest_known_broken      # missing --accumuluate
+test_expect_success 'Accumulate original tags' \
+  'notmuch tag +ABC +DEF -- from:cworth &&
+  notmuch restore --accumulate < dump.expected &&
+  notmuch dump > dump.actual &&
+  test_cmp dump-ABC_DEF.expected dump.actual'
+
 test_expect_success 'Restoring original tags' \
   'notmuch restore dump.expected &&
   notmuch dump > dump.actual &&
@@ -25,6 +40,18 @@ test_expect_success 'Restore with nothing to do' \
   notmuch dump > dump.actual &&
   test_cmp dump.expected dump.actual'
 
+test_subtest_known_broken      # missing --accumuluate
+test_expect_success 'Restore with nothing to do, II' \
+  'notmuch restore --accumulate dump.expected &&
+  notmuch dump > dump.actual &&
+  test_cmp dump.expected dump.actual'
+
+test_subtest_known_broken      # missing --accumuluate
+test_expect_success 'Restore with nothing to do, III' \
+  'notmuch restore --accumulate < clear.expected &&
+  notmuch dump > dump.actual &&
+  test_cmp dump.expected dump.actual'
+
 # notmuch restore currently only considers the first argument.
 test_subtest_known_broken
 test_expect_success 'Invalid restore invocation' \