diff --git a/test/dump-restore b/test/dump-restore index b66db997..0f62d9da 100755 --- a/test/dump-restore +++ b/test/dump-restore @@ -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' \