mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-27 03:41:41 +01:00
098ef4af4d
The idea is run some code under valgrind --leak-check=full and report a summary, leaving the user to peruse the log file if they want. We go to some lengths to preserve the log files from accidental overwriting; the full corpus takes about 3 hours to run under valgrind on my machine. The naming of the log directories may be slightly controversial; in the unlikely event of two runs in less than a second, the log will be overwritten. A previous version with mktemp+timestamp was dismissed as overkill; just mktemp alone does not sort nicely. One new test is included, to check notmuch new for memory leaks.
42 lines
1 KiB
Makefile
42 lines
1 KiB
Makefile
# -*- makefile -*-
|
|
|
|
dir := performance-test
|
|
|
|
include $(dir)/version.sh
|
|
|
|
TIME_TEST_SCRIPT := ${dir}/notmuch-time-test
|
|
MEMORY_TEST_SCRIPT := ${dir}/notmuch-memory-test
|
|
|
|
CORPUS_NAME := notmuch-email-corpus-$(PERFTEST_VERSION).tar.xz
|
|
TXZFILE := ${dir}/download/${CORPUS_NAME}
|
|
SIGFILE := ${TXZFILE}.asc
|
|
DEFAULT_URL := http://notmuchmail.org/releases/${CORPUS_NAME}
|
|
|
|
perf-test: time-test memory-test
|
|
|
|
time-test: setup-perf-test all
|
|
@echo
|
|
$(TIME_TEST_SCRIPT) $(OPTIONS)
|
|
|
|
memory-test: setup-perf-test all
|
|
@echo
|
|
$(MEMORY_TEST_SCRIPT) $(OPTIONS)
|
|
|
|
|
|
.PHONY: download-corpus setup-perf-test
|
|
|
|
# Note that this intentionally does not depend on download-corpus.
|
|
setup-perf-test: $(TXZFILE)
|
|
gpg --verify $(SIGFILE)
|
|
|
|
$(TXZFILE):
|
|
@printf "\nPlease download ${TXZFILE} using:\n\n"
|
|
@printf "\t%% make download-corpus\n\n"
|
|
@echo or see http://notmuchmail.org/corpus for download locations
|
|
@echo
|
|
@false
|
|
|
|
download-corpus:
|
|
wget -O ${TXZFILE} ${DEFAULT_URL}
|
|
|
|
CLEAN := $(CLEAN) $(dir)/tmp.* $(dir)/log.* $(dir)/corpus $(dir)/notmuch.cache.*
|