aboutsummaryrefslogtreecommitdiffhomepage
path: root/performance-test/README
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2012-11-17 12:28:15 -0400
committerGravatar David Bremner <bremner@debian.org>2012-11-26 08:39:21 -0400
commit7beeb8c88a014ecbc53d8241f10683b3c4c16228 (patch)
treeccd4592417e741447cf97904bab1fd8888f78948 /performance-test/README
parent20b7e0ff2f12e612dee00efc6ff1634aae8172a4 (diff)
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
Diffstat (limited to 'performance-test/README')
-rw-r--r--performance-test/README49
1 files changed, 49 insertions, 0 deletions
diff --git a/performance-test/README b/performance-test/README
new file mode 100644
index 00000000..630cf136
--- /dev/null
+++ b/performance-test/README
@@ -0,0 +1,49 @@
+Pre-requisites
+--------------
+
+In addition to having notmuch, you need:
+
+- gpg
+- gnu tar
+- gnu time
+- xz. Some speedup can be gotten by installing "pixz", but this is
+ probably only worthwhile if you are debugging the tests.
+
+Getting set up to run tests:
+----------------------------
+
+First, you need to get the corpus.
+
+It should work to run
+
+ % make download-corpus
+
+In case that fails or is too slow, check
+
+ http://notmuchmail.org/corpus
+
+for a list of mirrors.
+
+Running tests
+-------------
+
+The easiest way to run performance tests is to say "make perf-test", (or
+simply run the notmuch-perf-test script). Either command will run all
+available performance tests.
+
+Alternately, you can run a specific subset of tests by simply invoking
+one of the executable scripts in this directory, (such as ./basic).
+
+Writing tests
+-------------
+
+Have a look at "basic" for an example.
+
+add_email_corpus takes arguments "--small" and "--medium" for when you
+want smaller subsets of the corpus to check.
+
+time_done does the cleanup; comment it out or define "$debug" to leave
+the temporary files around.
+
+Currently there is no option processing (e.g. --debug) in the
+performance tests.