| Age | Commit message (Collapse) | Author |
|
This is not a particularly sensible query, but thread:{date:2010} is a
good way to generate fairly large intermediate queries.
|
|
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.
|
|
Make a distinction between source and build directories.
|
|
Don't assume the tests are always run from within the source tree.
|
|
In the future it might be worthwhile selecting corpus messages to
insert, but that seems a bit overcomplicated for now
|
|
One test per number so ordering is clear.
|
|
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".
|
|
This new subcommand takes a set of search terms, and re-indexes the
list of matching messages.
|
|
Looking at the code for notmuch-reply, there seems to be several gmime
related memory leaks. This test is supposed to help eliminate those.
|
|
Just copy and replace from the show tests. Currently these show no
major leaks.
|
|
These are probably too slow to run with the full corpus
|
|
This allows the use of redirection in the tests
|
|
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.
|
|
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.)
|
|
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.
|
|
The word "setup" is a noun, not a verb. Change occurrences of "setup"
where used as a verb to "set up".
|
|
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.
|
|
This might have worked once for some fixed order of including
makefiles, but it is clearly wrong now.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
This avoids hassle with manually adding every test to the master list.
|
|
This will simplify notmuch time tests
|
|
The common suffix will help running them all automatically.
|
|
As with the valgrind logs, we print a (very) brief summary and leave
the log for inspection.
|
|
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.
|
|
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.
|
|
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.
|
|
The initial notmuch-new and caching are now done automatically by
time_start
|
|
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
|
|
We use the new "time_start" function to restore the database from cache
if possible.
|
|
There is only one set of tags, independant of the size of message
corpus chosen.
|
|
The new version ships with some tags, and an updated archive of the
notmuch mailing list.
|
|
Describe new argument parsing and mention cache handling routines.
|
|
The caching and uncaching seem to be necessarily manual, as timing the
initial notmuch new is one of our goals with this suite.
|
|
Unpacking is not really the expensive step (compared to the initial
notmuch new), but this is a pre-requisite to caching the database.
|
|
Output from tests is indented slightly in the same style as the
correctness tests.
|
|
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.
|
|
This patch just sets (non-exported) variables. The variable $debug is
already used, and $corpus_size will be used in following commits.
|
|
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.
|
|
Austin Read enough Fine Manuals to figure out this is in multiples of
512 bytes.
|
|
It turns out not everybody on the planet has my gpg key.
|
|
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
|