<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/notmuch-test, branch 0.30_rc2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.30_rc2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.30_rc2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2019-05-26T21:55:06Z</updated>
<entry>
<title>test: report summary even when aborting</title>
<updated>2019-05-26T21:55:06Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-26T15:03:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=73cebe6e7233f59ba26d9f7c05265b7776795818'/>
<id>urn:sha1:73cebe6e7233f59ba26d9f7c05265b7776795818</id>
<content type='text'>
In certain cases of test suite failure, the summary report was not
being printed.  In particular, any failure on the parallel test suite,
and any aborted test in the serialized test suite would end up hiding
the summary.

It's better to always show the summary where we can (while preserving
the return code).  If we do abort due to this high-level failure,
though, we should also announce to the user that we're doing so as
close to the end of the process as possible, to make it easier to find
the problem.

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>test: allow disabling timeout with NOTMUCH_TEST_TIMEOUT=0</title>
<updated>2019-05-25T11:26:41Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-20T23:25:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=fa9d8b702666adc5fe5759c352a9e8467c436804'/>
<id>urn:sha1:fa9d8b702666adc5fe5759c352a9e8467c436804</id>
<content type='text'>
To aid in diagnosing test suite tooling that interacts poorly with
coreutils' timeout, it's handy to be able to bypass it entirely.

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>test-lib.sh: colors to test output when parallel(1) is run on tty</title>
<updated>2019-05-23T11:00:31Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2019-05-08T18:51:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3563079be37737aab084e957b494070eaea9c2f6'/>
<id>urn:sha1:3563079be37737aab084e957b494070eaea9c2f6</id>
<content type='text'>
Done via $COLORS_WITHOUT_TTY environment variable as passing options
to commands through parallel(1) does not look trivial.

Reorganized color checking in test-lib.sh a bit for this (perhaps
were not fully necessary but rest still an improvement):

  - color checking commands in subshell are not run before arg parsing
    (args may disable colors with --no-color)

  - [ -t 1 ] is checked before forking subshell
</content>
</entry>
<entry>
<title>tests: fail and report when a parallel build fails (or times out)</title>
<updated>2019-05-20T17:48:56Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-20T17:20:57Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c88e03058091dcaf2699c28fffc163c3d2adcaf1'/>
<id>urn:sha1:c88e03058091dcaf2699c28fffc163c3d2adcaf1</id>
<content type='text'>
When a parallel build fails (or when it times out, if timeout is
present), the test suite should not blithely succeed.  Catch these
failures and at least report them.

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>tests: make timeout configurable with NOTMUCH_TEST_TIMEOUT (default: 2m)</title>
<updated>2019-05-20T17:48:43Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2019-05-20T17:20:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=73bf7e532e8388416981d9e2378d10ff04264097'/>
<id>urn:sha1:73bf7e532e8388416981d9e2378d10ff04264097</id>
<content type='text'>
The current 2 minute timeout is reasonable, but to exercise the test
suite or induce timeout failures, we might want to make it shorter.
This makes it configurable so you can run (for example):

    make check NOTMUCH_TEST_TIMEOUT=10s

We stick with the default of 2m.

Signed-off-by: Daniel Kahn Gillmor &lt;dkg@fifthhorseman.net&gt;
</content>
</entry>
<entry>
<title>tests: environment variable to specify that tests should be serialized</title>
<updated>2019-05-07T09:55:31Z</updated>
<author>
<name>Jameson Graef Rollins</name>
<email>jrollins@finestructure.net</email>
</author>
<published>2019-05-06T04:44:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=eeff4319960d88e60c202dac4047913262d67d85'/>
<id>urn:sha1:eeff4319960d88e60c202dac4047913262d67d85</id>
<content type='text'>
If NOTMUCH_TEST_SERIALIZE is non-null all tests will be run in series,
rather than in parallel.
</content>
</entry>
<entry>
<title>tests: run all tests in parallel, if available</title>
<updated>2019-05-07T09:54:09Z</updated>
<author>
<name>Jameson Graef Rollins</name>
<email>jrollins@finestructure.net</email>
</author>
<published>2019-05-04T20:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=908d930d221413633ab7541f97eb7cf07bfc4a91'/>
<id>urn:sha1:908d930d221413633ab7541f97eb7cf07bfc4a91</id>
<content type='text'>
If either the moreutils or GNU parallel utility are available, run all
tests in parallel.  On my eight core machine this makes for a ~x7
speed-up in the full test suite (1m24s -&gt; 12s).

The design of the test suite makes this parallelization trivial.
</content>
</entry>
<entry>
<title>tests: remove entangling corpus index optimization</title>
<updated>2019-05-07T09:53:57Z</updated>
<author>
<name>Jameson Graef Rollins</name>
<email>jrollins@finestructure.net</email>
</author>
<published>2019-05-04T20:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=591388ccd1d7c631d1f98694543d1a80fc521d9f'/>
<id>urn:sha1:591388ccd1d7c631d1f98694543d1a80fc521d9f</id>
<content type='text'>
The add_email_corpus test utility includes logic that tries to re-use
an index of the corpus if available.  This was seemingly done as an
optimization, so that every test that uses the corpus didn't have to
create it's own index of the corpus.  However, this has the perverse
side effect of entangling tests together, and breaks parallelization.

Forcing each test to do it's own index does increase the overall time
of the test slightly (~6%), but this will be more than made up for in
the next patch that introduces paraellization.
</content>
</entry>
<entry>
<title>test: use source and build paths in notmuch-test</title>
<updated>2017-10-20T22:55:31Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-09-25T20:38:27Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a8cd1ec26b7ed1144c46417091a5b95c9dd201ad'/>
<id>urn:sha1:a8cd1ec26b7ed1144c46417091a5b95c9dd201ad</id>
<content type='text'>
Make a distinction between source and build directories.
</content>
</entry>
<entry>
<title>test: Update extant references to corpus.mail</title>
<updated>2017-08-18T22:42:19Z</updated>
<author>
<name>Vladimir Panteleev</name>
<email>notmuch@thecybershadow.net</email>
</author>
<published>2017-08-17T00:41:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4d44976135ec69316f3f681cf7083e5188ab9d70'/>
<id>urn:sha1:4d44976135ec69316f3f681cf7083e5188ab9d70</id>
<content type='text'>
971cdc72cdb80f060193bc0914dc9badcc29696b renamed corpus.mail to
corpora.mail. Although 971cdc72cdb80f060193bc0914dc9badcc29696b
updated some of the remaining corpus.mail references, two remained,
causing the test suite to leave behind an unignored corpora.mail
directory.
</content>
</entry>
</feed>
