Commit graph

8 commits

Author SHA1 Message Date
David Bremner
e7a7943862 build: don't overwrite DISTCLEAN in performance-test
This might have worked once for some fixed order of including
makefiles, but it is clearly wrong now.
2014-05-28 09:51:40 -03:00
Austin Clements
abedb55a45 perf: Clean corpus and caches in distclean, not clean
Previously, we cleaned the downloaded performance corpus and the
cached indexes on 'make clean'.  This seems heavy-handed, since these
take a long time to download, unpack, and index.  They also aren't
make targets to begin with.  Move cleaning these to 'make distclean'.
This isn't exactly the right meaning of "distclean", but it's closer.
2013-10-25 21:24:43 -03:00
Jani Nikula
2cbd68de92 build: fix out-of-tree builds
Support for out-of-tree builds was added in
commit 3e4a9d60a9
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 9 15:02:42 2011 -0800

    build: Add support for non-source-directory builds.

and broken in
commit 7beeb8c88a
Author: David Bremner <bremner@debian.org>
Date:   Sat Nov 17 12:28:15 2012 -0400

    test: initial performance testing infrastructure

Fix the build breakage.

Out-of-tree 'make test' has been broken since earlier than the above,
and remains broken, as does out-of-tree perf test, but at least the
build now works.
2013-05-26 18:49:04 -03:00
David Bremner
098ef4af4d perf-test: initial version of memory test infrastructure.
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.
2012-12-25 08:49:24 -04:00
David Bremner
047cd7a595 perf-test: rename current tests as "time tests"
This is almost entirely renaming files, except for updating a few
references to those file names, and changing the makefile target.

A new set of memory tests will be run separately because they take
much longer.
2012-12-25 08:49:24 -04:00
David Bremner
ceaf5ca6c0 perf-test: add caching of xapian database
The caching and uncaching seem to be necessarily manual, as timing the
initial notmuch new is one of our goals with this suite.
2012-12-15 08:17:58 -04:00
David Bremner
74a883562b perf-test: cache unpacked corpus
Unpacking is not really the expensive step (compared to the initial
notmuch new), but this is a pre-requisite to caching the database.
2012-12-15 08:17:57 -04:00
David Bremner
7beeb8c88a test: initial performance testing infrastructure
This is not near as fancy as as the unit tests, on the theory that
the code should typically be crashing when performance tuning.
Nonetheless, there is plenty of room for improvement.  Several more of
the pieces of the test infrastructure (e.g. the option parsing) could
be factored out into test/test-lib-common.sh
2012-11-26 08:39:21 -04:00