summaryrefslogtreecommitdiff
path: root/performance-test
AgeCommit message (Collapse)Author
2021-05-19perf-test/T00-new: fix backup creation.David Bremner
"xargs tar cf backup.tar < $manifest" recreates the tar file with each "batch" execed by xargs. In general this results in only a fraction of the desired files being backed up.
2021-04-18perf-tests: add test for removing files.David Bremner
Without the proposed fix for deletion performance [1], this test is probably unreasonably slow compared to others at the same small/medium/large scale. [1]: id:20210414021627.1236560-3-david@tethera.net
2020-08-09emacs: Use makefile-gmake-mode in Makefile*sJonas Bernoulli
Use `makefile-gmake-mode' instead of `makefile-mode' because the former also highlights ifdef et al. while the latter does not. "./Makefile.global" and one "Makefile.local" failed to specify any major mode at all but doing so is necessary because Emacs does not automatically figure out that these are Makefiles (of any flavor).
2019-06-07perf-tests: #!/bin/bash -> #!/usr/bin/env bashWilliam Casarin
I couldn't run the performance tests on my machines due to a hardcoded bash path. Use env for finding bash in weird systems like NixOS. Signed-off-by: William Casarin <jb55@jb55.com>
2019-04-05performance-tests: tests for renamed/copied files in notmuch newDavid Bremner
Several people have observed that this is surprisingly slow, and we have a proposal to add tagging into this code path, so we want to make sure it doesn't imply too much of a performance hit.
2019-03-31performance-test: fix copy-paste error in test descriptionDavid Bremner
2018-05-07perf-test: add simple test for thread subqueriesDavid Bremner
This is not a particularly sensible query, but thread:{date:2010} is a good way to generate fairly large intermediate queries.
2017-12-04test: unbreak performance testsDavid Bremner
In 8e7fb88237aedea22 Jani replaced the use of $(pwd -P) to find the TEST_DIRECTORY in order to better support out of tree builds. Unfortunately the performance-tests need a different value for the variable and were thus broken. This commit splits out the setting of this variable for the two sets of tests. Performance tests still don't work out of tree, because the handling of the downloaded corpus needs to be updated.
2017-10-20perf-test: use source and build paths in perf-test-lib.shJani Nikula
Make a distinction between source and build directories.
2017-10-20perf-test: use $(dirname "$0") for sourcing perf-test-lib.shJani Nikula
Don't assume the tests are always run from within the source tree.
2017-08-20perf-test: add memory test for notmuch-insertDavid Bremner
In the future it might be worthwhile selecting corpus messages to insert, but that seems a bit overcomplicated for now
2017-08-20perf-test: renumber testsDavid Bremner
One test per number so ordering is clear.
2017-08-18Use rooted paths in .gitignore filesVladimir Panteleev
A leading / in paths in a .gitignore file matches the beginning of the path, meaning that for patterns without slashes, git will match files only in the current directory as opposed to in any subdirectory. Prefix relevant paths with / in .gitignore files, to prevent accidentally ignoring files in subdirectories and possibly slightly improve the performance of "git status".
2017-08-01add "notmuch reindex" subcommandDaniel Kahn Gillmor
This new subcommand takes a set of search terms, and re-indexes the list of matching messages.
2017-05-30perf-test: add memory test for replyDavid Bremner
Looking at the code for notmuch-reply, there seems to be several gmime related memory leaks. This test is supposed to help eliminate those.
2017-03-18perf-test/mem: add simple memory tests for notmuch searchDavid Bremner
Just copy and replace from the show tests. Currently these show no major leaks.
2017-03-18perf-test: add simple memory tests for notmuch-showDavid Bremner
These are probably too slow to run with the full corpus
2017-03-18perf-test: use 'eval' in memory_runDavid Bremner
This allows the use of redirection in the tests
2016-06-05Use https instead of http where possibleDaniel Kahn Gillmor
Many of the external links found in the notmuch source can be resolved using https instead of http. This changeset addresses as many as i could find, without touching the e-mail corpus or expected outputs found in tests.
2016-05-19test: copyright information updatesTomi Ollila
Files in test directories had only copyright of a single individual, of which code was adapted here as a base of the test system. Since then many Notmuch Developers have contributed to the test system, which is now acknowledged with a constant string in some of the test files. The README file in test directory instructed new files contain a copyright notice, but that has never been done (and it is also not needed). To simplify things a bit (and lessen confusion) this instruction is now removed. As a side enchangement, all of the 3 entries in the whole source tree cd'ing to `dirname` of "$0" now uses syntax cd "$(dirname "$0")". This makes these particular lines work when current working directory is e.g. /c/Program Files/notmuch/test/. (Probably it would fail elsewhere, though.)
2015-08-07test: make script exit (1) if it "fails" to source (.) a fileTomi Ollila
The files (test) scripts source (with builtin command `.`) provides information which the scripts depend, and without the `source` to succeed allowing script to continue may lead to dangerous situations (e.g. rm -rf "${undefined_variable}"/*). At the end of all source (.) lines construct ' || exit 1' was added; In our case the script script will exit if it cannot find (or read) the file to be sourced. Additionally script would also exits if the last command of the sourced file exited nonzero.
2015-05-31cli: change "setup" to "set up" where used as a verbJ. Lewis Muir
The word "setup" is a noun, not a verb. Change occurrences of "setup" where used as a verb to "set up".
2014-05-28build: add datacleanDavid Bremner
It turns out to be inconvenient to delete the downloaded datafiles with distclean, so I propose a new target which does that instead. The closest conventional target is 'maintainer-clean'; the difference here is that having the original source tarball is not enough to reconstruct these files.
2014-05-28build: don't overwrite DISTCLEAN in performance-testDavid Bremner
This might have worked once for some fixed order of including makefiles, but it is clearly wrong now.
2014-03-14perf-test: use command line arguments for directoriesDavid Bremner
It seems that between version 1.26 and 1.27 of gnu tar, directories to be extracted read with --files-from are no longer recursively extacted. This patch puts them on the command line instead.
2013-12-10perf-test: bump version to 0.4, use manifest filesDavid Bremner
The new revision of the performance test includes manifests for each corpus, so update the support library to use these manifests at the same time.
2013-10-25perf: Clean corpus and caches in distclean, not cleanAustin Clements
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-05-26build: fix out-of-tree buildsJani Nikula
Support for out-of-tree builds was added in commit 3e4a9d60a9419621b08c647a306843d76c47c2cb 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 7beeb8c88a014ecbc53d8241f10683b3c4c16228 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-15perf-test: add notmuch-memory-testDavid Bremner
Somehow this file was not added to the patch set which split the tests into time and memory tests. Take advantage of the the "new" way of running tests to avoid listing the explicitly.
2013-05-15perf-test: run all appropriately named time testsDavid Bremner
This avoids hassle with manually adding every test to the master list.
2013-05-15perf-test: rename time tests to have .sh suffixDavid Bremner
This will simplify notmuch time tests
2013-05-15perf-test: rename memory testsDavid Bremner
The common suffix will help running them all automatically.
2012-12-30perf-test: initial support for talloc leak report in memory testsDavid Bremner
As with the valgrind logs, we print a (very) brief summary and leave the log for inspection.
2012-12-25perf-test: add memory leak test for dump restoreDavid Bremner
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.
2012-12-25perf-test: initial version of memory test infrastructure.David Bremner
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-25perf-test: rename current tests as "time tests"David Bremner
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-25perf-test: remove redundant "initial notmuch new"David Bremner
The initial notmuch-new and caching are now done automatically by time_start
2012-12-15perf-test: use nmbug tags in dump-restore testsDavid Bremner
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
2012-12-15perf-test: split basic into 00-new, 01-dump-restore, and 02-tagDavid Bremner
We use the new "time_start" function to restore the database from cache if possible.
2012-12-15perf-test: unpack tags.David Bremner
There is only one set of tags, independant of the size of message corpus chosen.
2012-12-15perf-test: bump corpus version to 0.3David Bremner
The new version ships with some tags, and an updated archive of the notmuch mailing list.
2012-12-15perf-test: update READMEDavid Bremner
Describe new argument parsing and mention cache handling routines.
2012-12-15perf-test: add caching of xapian databaseDavid Bremner
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-15perf-test: cache unpacked corpusDavid Bremner
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-15perf-test: optionally print description for each group of testsDavid Bremner
Output from tests is indented slightly in the same style as the correctness tests.
2012-12-14perf-test: add corpus size to output, compact I/O statsDavid Bremner
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.
2012-12-14perf-test: add argument parsing for performance testsDavid Bremner
This patch just sets (non-exported) variables. The variable $debug is already used, and $corpus_size will be used in following commits.
2012-12-14perf-test: propagate non-zero returns from /usr/bin/timeDavid Bremner
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.
2012-11-29performance-test: add units to In and OutDavid Bremner
Austin Read enough Fine Manuals to figure out this is in multiples of 512 bytes.
2012-11-29performance-test/README: update instructions for fetching corpus.David Bremner
It turns out not everybody on the planet has my gpg key.