New changes: Sender: cannot be blank, Sender: always overrides From:
[mmh] / test / README
1 nmh unit test suite.
2
3 The purpose of these tests is to verify the functionality of the nmh
4 commands.  The goal of the suite is to create an environment where testing
5 nmh commands is easy and useful.  Each test is a shell script, and is
6 launched via the 'sh' command. The script should run the test and report
7 the result by one of:
8
9   * for a test pass: exit with status 0
10   * where a test has been skipped (perhaps because it depends on an
11     external program which can't be found): print "Test $0 SKIP (reason)"
12     and exit with status 77
13   * for a test fail: exit with some status other than 0 or 120
14
15 The Suite is a re-worked version of the original test suite; it now is
16 designed to work with Automake.  To run these tests you can do "make check"
17 via the top-level Makefile.  This is also done automatically via
18 "make distcheck".
19
20 WARNING:  The test suite installs nmh and run the tests on that test
21 installation.  If you run tests individually, they will not remove
22 that test installation or check to see if it remains up to date with
23 your nmh workspace.  You can run test/clean after a test to remove the
24 test installation.  "make check" will do that, so it is best to use
25 it.
26
27 If you wish to write a new test script, here are the steps:
28
29 - Make sure your test script sources $MH_OBJ_DIR/test/common.sh and
30   calls the setup_test shell function (the other scripts have examples
31   of this).
32
33 - Your path will be set up to find the locations of the test nmh binaries.
34
35 - Add your script to the TESTS variable in the toplevel Makefile.am.
36   By convention, test script names start with "test-", though that
37   is not a requirement.
38
39 - If you need additional files for your tests, be sure to add them to
40   the EXTRA_DIST variable in Makefile.am.  Note that you should insure
41   that you access these files relative to the $srcdir environment variable.
42
43 - Verify that the test works with both "make check" and "make distcheck".