mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-23 01:44:52 +01:00
591388ccd1
The add_email_corpus test utility includes logic that tries to re-use an index of the corpus if available. This was seemingly done as an optimization, so that every test that uses the corpus didn't have to create it's own index of the corpus. However, this has the perverse side effect of entangling tests together, and breaks parallelization. Forcing each test to do it's own index does increase the overall time of the test slightly (~6%), but this will be more than made up for in the next patch that introduces paraellization.
84 lines
2.5 KiB
Makefile
84 lines
2.5 KiB
Makefile
# -*- makefile -*-
|
|
|
|
dir := test
|
|
|
|
# save against changes in $(dir)
|
|
test_src_dir := $(dir)
|
|
extra_cflags += -I$(srcdir)
|
|
|
|
smtp_dummy_srcs = \
|
|
$(notmuch_compat_srcs) \
|
|
$(dir)/smtp-dummy.c
|
|
|
|
smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o)
|
|
|
|
$(dir)/arg-test: $(dir)/arg-test.o command-line-arguments.o util/libnotmuch_util.a
|
|
$(call quiet,CC) $^ -o $@ $(LDFLAGS)
|
|
|
|
$(dir)/message-id-parse: $(dir)/message-id-parse.o lib/libnotmuch.a util/libnotmuch_util.a
|
|
$(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS)
|
|
|
|
$(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libnotmuch_util.a
|
|
$(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS)
|
|
|
|
random_corpus_deps = $(dir)/random-corpus.o $(dir)/database-test.o \
|
|
notmuch-config.o status.o command-line-arguments.o \
|
|
lib/libnotmuch.a util/libnotmuch_util.a \
|
|
parse-time-string/libparse-time-string.a
|
|
|
|
$(dir)/random-corpus: $(random_corpus_deps)
|
|
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(CONFIGURE_LDFLAGS)
|
|
|
|
$(dir)/smtp-dummy: $(smtp_dummy_modules)
|
|
$(call quiet,CC) $^ -o $@ $(LDFLAGS)
|
|
|
|
$(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
|
|
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) -Llib -lnotmuch $(XAPIAN_LDFLAGS)
|
|
|
|
$(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
|
|
$(call quiet,CC) $^ -o $@ $(LDFLAGS)
|
|
|
|
$(dir)/make-db-version: $(dir)/make-db-version.o
|
|
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS)
|
|
|
|
$(dir)/ghost-report: $(dir)/ghost-report.o
|
|
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS)
|
|
|
|
.PHONY: test check
|
|
|
|
test_main_srcs=$(dir)/arg-test.c \
|
|
$(dir)/hex-xcode.c \
|
|
$(dir)/random-corpus.c \
|
|
$(dir)/parse-time.c \
|
|
$(dir)/smtp-dummy.c \
|
|
$(dir)/symbol-test.cc \
|
|
$(dir)/make-db-version.cc \
|
|
$(dir)/ghost-report.cc \
|
|
$(dir)/message-id-parse.c
|
|
|
|
test_srcs=$(test_main_srcs) $(dir)/database-test.c
|
|
|
|
TEST_BINARIES := $(test_main_srcs:.c=)
|
|
TEST_BINARIES := $(TEST_BINARIES:.cc=)
|
|
|
|
test-binaries: $(TEST_BINARIES)
|
|
|
|
test: all test-binaries
|
|
ifeq ($V,)
|
|
@echo 'Use "$(MAKE) V=1" to see the details for passing and known broken tests.'
|
|
@env NOTMUCH_TEST_QUIET=1 $(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS)
|
|
else
|
|
# The user has explicitly enabled quiet execution.
|
|
ifeq ($V,0)
|
|
@env NOTMUCH_TEST_QUIET=1 $(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS)
|
|
else
|
|
@$(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS)
|
|
endif
|
|
endif
|
|
|
|
check: test
|
|
|
|
SRCS := $(SRCS) $(test_srcs)
|
|
CLEAN += $(TEST_BINARIES) $(addsuffix .o,$(TEST_BINARIES)) \
|
|
$(dir)/database-test.o \
|
|
$(dir)/test-results $(dir)/tmp.*
|