aboutsummaryrefslogtreecommitdiffhomepage
path: root/performance-test
Commit message (Collapse)AuthorAge
* perf-test: initial support for talloc leak report in memory testsGravatar David Bremner2012-12-30
| | | | | As with the valgrind logs, we print a (very) brief summary and leave the log for inspection.
* perf-test: add memory leak test for dump restoreGravatar David Bremner2012-12-25
| | | | | | In id:87vcc2q5n2.fsf@nikula.org, Jani points out a memory leak in the current version of the sup restore code. Among other things, this test is intended to verify a fix for that leak.
* perf-test: initial version of memory test infrastructure.Gravatar David Bremner2012-12-25
| | | | | | | | | | | | | | | | 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.
* perf-test: rename current tests as "time tests"Gravatar David Bremner2012-12-25
| | | | | | | | 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.
* perf-test: remove redundant "initial notmuch new"Gravatar David Bremner2012-12-25
| | | | | The initial notmuch-new and caching are now done automatically by time_start
* perf-test: use nmbug tags in dump-restore testsGravatar David Bremner2012-12-15
| | | | | | | | | | | This makes the tag set a bit less trivial. Note that if you use the small corpus, this is not so interesting (and is also a bit noisy) since the messages will not be found. In the future this could be checked for. Conflicts: performance-test/01-dump-restore
* perf-test: split basic into 00-new, 01-dump-restore, and 02-tagGravatar David Bremner2012-12-15
| | | | | We use the new "time_start" function to restore the database from cache if possible.
* perf-test: unpack tags.Gravatar David Bremner2012-12-15
| | | | | There is only one set of tags, independant of the size of message corpus chosen.
* perf-test: bump corpus version to 0.3Gravatar David Bremner2012-12-15
| | | | | The new version ships with some tags, and an updated archive of the notmuch mailing list.
* perf-test: update READMEGravatar David Bremner2012-12-15
| | | | Describe new argument parsing and mention cache handling routines.
* perf-test: add caching of xapian databaseGravatar David Bremner2012-12-15
| | | | | The caching and uncaching seem to be necessarily manual, as timing the initial notmuch new is one of our goals with this suite.
* perf-test: cache unpacked corpusGravatar David Bremner2012-12-15
| | | | | Unpacking is not really the expensive step (compared to the initial notmuch new), but this is a pre-requisite to caching the database.
* perf-test: optionally print description for each group of testsGravatar David Bremner2012-12-15
| | | | | Output from tests is indented slightly in the same style as the correctness tests.
* perf-test: add corpus size to output, compact I/O statsGravatar David Bremner2012-12-14
| | | | | | | | | Austin suggested a while ago that the corpus size be printed in the header. In the end it seems the corpus will be fixed per test script, so this suggestion indeed makes sense. The tabbing was wrapping on my usual 80 column terminal, so I joined the input and output columns together.
* perf-test: add argument parsing for performance testsGravatar David Bremner2012-12-14
| | | | | This patch just sets (non-exported) variables. The variable $debug is already used, and $corpus_size will be used in following commits.
* perf-test: propagate non-zero returns from /usr/bin/timeGravatar David Bremner2012-12-14
| | | | | | Unlike in the correctness tests, the most common cause of non-zero return seems to be the user interrupting, so killing the run seems like the friendly thing to do.
* performance-test: add units to In and OutGravatar David Bremner2012-11-29
| | | | | Austin Read enough Fine Manuals to figure out this is in multiples of 512 bytes.
* performance-test/README: update instructions for fetching corpus.Gravatar David Bremner2012-11-29
| | | | It turns out not everybody on the planet has my gpg key.
* test: initial performance testing infrastructureGravatar David Bremner2012-11-26
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