aboutsummaryrefslogtreecommitdiff
path: root/performance-test/perf-test-lib.sh
AgeCommit message (Collapse)Author
2022-02-25perf-test: allow running test_emacs from performance test suite.David Bremner
test_require_external prereq has to move to test-lib-common.sh, and the new shell functions print_emacs_header and time_emacs are provided. The somewhat indirect way of printing the output is to avoid the extra "" present on string values from emacsclient.
2022-02-25test: split variable settings to their own fileDavid Bremner
This allows sharing more variable settings between the (correctness) tests and the performance-tests. Unfortunately it seems a bit tricky to move settings to test-lib-common.sh, as that is sourced late in test-lib.sh, and moving it earlier breaks things.
2021-08-05perf-test: fix for verboseFelipe Contreras
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2021-04-28perf-test: add option to run perfDavid Bremner
Although the generation of perf data is not as slow as valgrind, it seems simplest to re-use the machinery already there to save the logs in a timestamped subdirectory.
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-03-18perf-test: use 'eval' in memory_runDavid Bremner
This allows the use of redirection in the tests
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-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.
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: 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-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: 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-26test: initial performance testing infrastructureDavid Bremner
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