notmuch/test/dump-restore
David Bremner 09beff1def notmuch-dump: treat any remaining arguments after the filename as search terms
The main motivation here is allow the fast dumping of tag data for
messages having certain tags.  In practice it seems too slow to pipe
dump to grep.

All dump-restore tests should be working now, so we update test/dump-restore
accordingly
2011-10-16 19:59:53 -03:00

49 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env bash
test_description="\"notmuch dump\" and \"notmuch restore\""
. ./test-lib.sh
add_email_corpus
test_expect_success "Dumping all tags" "generate_message &&
notmuch new &&
notmuch dump > dump.expected"
test_begin_subtest "dump outfile"
notmuch dump dump-outfile.actual
test_expect_equal_file dump.expected dump-outfile.actual
test_begin_subtest "dump outfile --"
notmuch dump dump-1-arg-dash.actual --
test_expect_equal_file dump.expected dump-1-arg-dash.actual
# Note, we assume all messages from cworth have a message-id
# containing cworth.org
grep cworth\.org dump.expected > dump-cworth.expected
test_begin_subtest "dump -- from:cworth"
notmuch dump -- from:cworth > dump-dash-cworth.actual
test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual
test_begin_subtest "dump outfile from:cworth"
notmuch dump dump-outfile-cworth.actual from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual
test_begin_subtest "dump outfile -- from:cworth"
notmuch dump dump-outfile-dash-inbox.actual -- from:cworth
test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual
test_begin_subtest "Clearing all tags"
sed -e "s/(\([^(]*\))$/()/" < dump.expected > clear.expected
notmuch restore < clear.expected
notmuch dump > clear.actual
test_expect_equal "$(< clear.actual)" "$(< clear.expected)"
test_begin_subtest "Restoring original tags"
notmuch restore < dump.expected
notmuch dump > dump.actual
test_expect_equal "$(< dump.actual)" "$(< dump.expected)"
test_expect_success "Restore with nothing to do" "notmuch restore dump.expected"
test_done