test: conditionally test compact depending on configured support

I still have one machine with old enough Xapian to not have compaction
support. Make the tests check for unsupported compact operation when
compact is not available.
This commit is contained in:
Jani Nikula 2014-03-12 19:26:04 +02:00 committed by David Bremner
parent 57b4ef6f30
commit d647a19173
2 changed files with 19 additions and 0 deletions

View file

@ -35,9 +35,17 @@ $(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
$(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
$(call quiet,CC) $^ -o $@
$(dir)/have-compact: Makefile.config
ifeq ($(HAVE_XAPIAN_COMPACT),1)
ln -sf /bin/true $@
else
ln -sf /bin/false $@
endif
.PHONY: test check
TEST_BINARIES=$(dir)/arg-test \
$(dir)/have-compact \
$(dir)/hex-xcode \
$(dir)/random-corpus \
$(dir)/parse-time \

View file

@ -10,6 +10,17 @@ notmuch tag +tag1 \*
notmuch tag +tag2 subject:Two
notmuch tag -tag1 +tag3 subject:Three
if ! ${TEST_DIRECTORY}/have-compact; then
test_begin_subtest "Compact unsupported: error message"
output=$(notmuch compact --quiet 2>&1)
test_expect_equal "$output" "notmuch was compiled against a xapian version lacking compaction support.
Compaction failed: Unsupported operation"
test_expect_code 1 "Compact unsupported: status code" "notmuch compact"
test_done
fi
test_expect_success "Running compact" "notmuch compact --backup=${TEST_DIRECTORY}/xapian.old"
test_begin_subtest "Compact preserves database"