aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Jani Nikula <jani@nikula.org>2014-03-12 19:26:04 +0200
committerGravatar David Bremner <david@tethera.net>2014-03-25 18:51:06 -0300
commitd647a1917361aaf39d19a2c32df16e8490082a0e (patch)
tree09cd418ae406639f797eac8fd1ecf4cd50db105d /test
parent57b4ef6f30d41cd14aa570b329841fc2082260ff (diff)
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.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.local8
-rwxr-xr-xtest/T020-compact.sh11
2 files changed, 19 insertions, 0 deletions
diff --git a/test/Makefile.local b/test/Makefile.local
index ae9db809..2b18bdb9 100644
--- a/test/Makefile.local
+++ b/test/Makefile.local
@@ -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 \
diff --git a/test/T020-compact.sh b/test/T020-compact.sh
index ac174cec..77bb9632 100755
--- a/test/T020-compact.sh
+++ b/test/T020-compact.sh
@@ -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"