2 test_description='"notmuch compact"'
3 . ./test-lib.sh || exit 1
5 add_message '[subject]=One'
6 add_message '[subject]=Two'
7 add_message '[subject]=Three'
10 notmuch tag +tag2 subject:Two
11 notmuch tag -tag1 +tag3 subject:Three
13 if [ $NOTMUCH_HAVE_XAPIAN_COMPACT -eq 0 ]; then
14 test_begin_subtest "Compact unsupported: error message"
15 output=$(notmuch compact --quiet 2>&1)
16 test_expect_equal "$output" "notmuch was compiled against a xapian version lacking compaction support.
17 Compaction failed: Unsupported operation"
19 test_expect_code 1 "Compact unsupported: status code" "notmuch compact"
24 test_expect_success "Running compact" "notmuch compact --backup=${TEST_DIRECTORY}/xapian.old"
26 test_begin_subtest "Compact preserves database"
27 output=$(notmuch search \* | notmuch_search_sanitize)
28 test_expect_equal "$output" "\
29 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread)
30 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread)
31 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)"
33 test_expect_success 'Restoring Backup' \
34 'rm -Rf ${MAIL_DIR}/.notmuch/xapian &&
35 mv ${TEST_DIRECTORY}/xapian.old ${MAIL_DIR}/.notmuch/xapian'
37 test_begin_subtest "Checking restored backup"
38 output=$(notmuch search \* | notmuch_search_sanitize)
39 test_expect_equal "$output" "\
40 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread)
41 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread)
42 thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)"