On Tue, Mar 11 2014, Jani Nikula <jani at nikula.org> wrote: > 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. > --- > test/Makefile.local | 9 +++++++++ > test/T020-compact.sh | 11 +++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/test/Makefile.local b/test/Makefile.local > index 36b1c1b71de0..8befa40dfaa4 100644 > --- a/test/Makefile.local > +++ b/test/Makefile.local > @@ -35,9 +35,18 @@ $(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) > + echo -n "#!/bin/sh\nexit 0\n" > $@ > +else > + echo -n "#!/bin/sh\nexit 1\n" > $@ > +endif > + chmod +x $@ > +
printf '$#/bin/sh\nexit1\n' ... ... as '\n' expansion is not portable (bash by default do not expand, dash does) alternative: $(dir)/have-compact: Makefile.config ifeq ($(HAVE_XAPIAN_COMPACT),1) ln -s /bin/true $@ else ln -s /bin/false $@ endif this is soo much faster ;) 1) no shell needed in make 2) no shell needs to be executed when running have-compact otherwise LGTM. Tomi > .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 ac174cec7111..77bb9632cb11 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" > -- > 1.9.0