notmuch/test/t0006-dump-restore.sh
Michal Sojka 5398e6966a Convert the actual tests to the new framework
The changes are:
- The notmuch-test was split into several files (t000?-*.sh).
- Removed helper functions which were moved to test-lib.sh
- Replaced every printf with test_expect_success.
- Test commands chained with && (test-lib.sh doesn't use "set -e" in
  order to complete the test suite even if something fails)
- Many variables such as ${MAIL_DIR} were properly quoted as they
  contain spaces.
- Changed quoting patterns in add_message and generate_message (single
  quotes are already used by the test framework).
- ${TEST_DIR} replaced by ${PWD}

QUICK HOWTO:

To run the whole test suite
    make

To run only a single test
   ./t0001-new.sh

To stop on the first error
   ./t0001-new.sh -i
then mail store and database can be inspected in
"trash directory.t0001-new"

To see the output of tests
   ./t0001-new.sh -v

To not remove trash directory at the end:
   ./t0001-new.sh -d

To run all tests verbosely:
   make GIT_TEST_OPTS="-v"

Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
2010-09-16 15:56:44 -07:00

30 lines
781 B
Bash
Executable file

#!/bin/bash
test_description="\"notmuch dump\" and \"notmuch restore\""
. ./test-lib.sh
test_expect_success 'Generate some message' '
generate_message &&
notmuch new
'
test_expect_success "Dumping all tags" '
$NOTMUCH dump dump.expected &&
pass_if_equal "$?" "0"
'
test_expect_success "Clearing all tags" '
sed -e "s/(\([^(]*\))$/()/" < dump.expected > clear.expected
$NOTMUCH restore clear.expected &&
$NOTMUCH dump clear.actual &&
pass_if_equal "$(< clear.actual)" "$(< clear.expected)"
'
test_expect_success "Restoring original tags" '
$NOTMUCH restore dump.expected &&
$NOTMUCH dump dump.actual &&
pass_if_equal "$(< dump.actual)" "$(< dump.expected)"
'
test_expect_success "Restore with nothing to do" '
$NOTMUCH restore dump.expected &&
pass_if_equal "$?" "0"
'
test_done