<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/aggregate-results.sh, branch master</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=master</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-06-07T23:16:33Z</updated>
<entry>
<title>test: aggregate-results updates</title>
<updated>2021-06-07T23:16:33Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2021-05-17T08:11:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6f0f83660e222cfdd05b05ad134763a7ab26f097'/>
<id>urn:sha1:6f0f83660e222cfdd05b05ad134763a7ab26f097</id>
<content type='text'>
notmuch-test will now call aggregate-results.sh with file list
that it compiles based on the test ran, and aggregate-results
will report failure is any of the test files are missing.

With this notmuch-test no longer has to exit in non-parallel
run if some test fail to write its report file -- so it works
as parallel tests in this sense.

Changed test_done() in test-lib.sh write report file in one write(2),
so there is (even) less chance it being partially written. Also,
now it writes 'total' last and aggregate-results.sh expects this
line to exist in all report files for reporting to be successful.

Added 'set -eu' to notmuch-test and modified code to work with
these settings. That makes it harder to get mistakes slipped
into committed code.
</content>
</entry>
<entry>
<title>test: aggregate-results.sh: count test files where all tests skipped</title>
<updated>2019-07-05T15:58:23Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2019-06-15T14:28:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b6e589f54f25594f6beb7b5ee9e884c75f3bd633'/>
<id>urn:sha1:b6e589f54f25594f6beb7b5ee9e884c75f3bd633</id>
<content type='text'>
Previously, when all tests were skipped on a test file, there were
no indication of this in the final results aggregate-results.sh
printed.
Now count of the files where all tests were skipped is printed.
</content>
</entry>
<entry>
<title>test: aggregate-results.sh: consistent style. zero forks.</title>
<updated>2019-06-11T10:20:01Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2019-06-10T18:39:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=00c63bf7364778a75591fe494e029233736af04d'/>
<id>urn:sha1:00c63bf7364778a75591fe494e029233736af04d</id>
<content type='text'>
- all variables in $((...)) without leading $
- all comparisons use -gt, -eq or -ne
- no -a nor -o inside [ ... ] expressions
- all indentation levels using one tab

Dropped unnecessary empty string check when reading results files.

Replaced pluralize() which was executed in subshell with
pluralize_s(). pluralize_s sets $s to 's' or '' based on value of
$1. Calls to pluralize_s are done in context of current shell, so
no forks to subshells executed.
</content>
</entry>
<entry>
<title>test suite: don't consider skipped individual tests as failing</title>
<updated>2015-09-25T12:18:22Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2015-09-24T11:13:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3cf7ed26c06fb3fa7145948fd9a9f2973037a5fd'/>
<id>urn:sha1:3cf7ed26c06fb3fa7145948fd9a9f2973037a5fd</id>
<content type='text'>
It isn't completely clear what we want to do here, but

1) We currently don't fail if we skip a whole test file (mainly because
we neglect to count those skipped tests properly). This change at least
makes the two kinds of skipping consistent.

2) Automated build environments may have good reasons for building with
a minimal set of prereqs, and we don't want to discourage running our
test suite by breaking builds.
</content>
</entry>
<entry>
<title>test: exit with nonzero value when not all tests completed successfully</title>
<updated>2013-09-09T01:40:57Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2013-09-08T15:53:30Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11a38054641b7b0e927bf574369d4d8dfc7b4742'/>
<id>urn:sha1:11a38054641b7b0e927bf574369d4d8dfc7b4742</id>
<content type='text'>
If any of the tests in our test system is not passing the execution
of the test suite completes with nonzero exit value.

It is better to rely on the exit value of the test system instead
of some arbitrary strings in test output (or use both).
</content>
</entry>
<entry>
<title>test: change "#!/bin/bash" to "#!/usr/bin/env bash" enhances portability</title>
<updated>2011-05-27T21:03:28Z</updated>
<author>
<name>Joel Borggrén-Franck</name>
<email>jbf@codehouse.se</email>
</author>
<published>2010-12-01T20:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3fa843216c918fe4a6151e55947cf3a7f46fcdb5'/>
<id>urn:sha1:3fa843216c918fe4a6151e55947cf3a7f46fcdb5</id>
<content type='text'>
Change #!/bin/bash at start of tests to "#!/usr/bin/env bash". That way
systems running on bash &lt; 4 can prepend bash &gt;= 4 to path before
running the tests.
</content>
</entry>
<entry>
<title>test: Fix to actually report errors (!).</title>
<updated>2010-09-20T21:39:40Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-09-20T21:39:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=341e2bd86e4ed934ae23312779e0b4a0e8c8b4d5'/>
<id>urn:sha1:341e2bd86e4ed934ae23312779e0b4a0e8c8b4d5</id>
<content type='text'>
A bug in the results-aggregation code was causing the test suite to report
"all tests passed" even when there were failures, (as long as there were
also no "broken" tests). Fix this.
</content>
</entry>
<entry>
<title>test: Cleanup the test output</title>
<updated>2010-09-17T21:08:36Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-09-17T20:53:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=222926abe1e221a6239ccb9436968af43e1b6fb2'/>
<id>urn:sha1:222926abe1e221a6239ccb9436968af43e1b6fb2</id>
<content type='text'>
This makes the new, git-derived test suite report results in a manner
similar to the original notmuch test suite.

Notable changes include:

  * No more initial '*' on every line
  * Only colorize a single word
  * Don't print useless test numbers
  * Use "PASS" in place of "ok"
  * Begin sentences with a capital letter
  * Print test descriptions for each block
  * Separate each block of tests with a blank line
  * Don't summarize counts between each block
</content>
</entry>
<entry>
<title>Copy test framework from Git</title>
<updated>2010-09-16T22:56:44Z</updated>
<author>
<name>Michal Sojka</name>
<email>sojkam1@fel.cvut.cz</email>
</author>
<published>2010-06-10T06:48:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0083854b1204f077e98b1d9c4ecfa2a4844ee716'/>
<id>urn:sha1:0083854b1204f077e98b1d9c4ecfa2a4844ee716</id>
<content type='text'>
Git uses a simple and yet powerful test framework, written in shell.
The framework is easy to use for both users and developers so I think
it would help if it is used in notmuch as well.

This is a copy of Git's test framework from commit
b6b0afdc30e066788592ca07c9a6c6936c68cc11 in git repository.

Signed-off-by: Michal Sojka &lt;sojkam1@fel.cvut.cz&gt;
</content>
</entry>
</feed>
