-$Cambridge: exim/test/README,v 1.4 2006/07/26 14:39:13 ph10 Exp $
+$Cambridge: exim/test/README,v 1.6 2007/01/23 11:01:10 ph10 Exp $
EXPORTABLE EXIM TEST SUITE
--------------------------
This document last updated for:
-Test Suite Version: 4.63
-Date: 25 July 2006
+Test Suite Version: 4.67
+Date: 23 January 2007
BACKGROUND
bin/loaded Some dynamically loaded functions for testing dlfunc support.
-bin/server A script-driven SMTP server simulation.
+bin/mtpscript A script-driven SMTP/LMTP server simulation, on std{in,out}.
+
+bin/server A script-driven SMTP server simulation, over a socket.
+
+bin/showids Output the current uid, gid, euid, egid.
The runtest script also makes use of a number of ordinary commands such as
"cp", "kill", "more", and "rm", via the system() call. In some cases these are
These commands are not followed by any input data, or by a line of asterisks.
+
dbmbuild <file1> <file1>
This command runs the exim_dbmbuild utility to build a DBM file. It is used
"write" command (see below) that creates the input file.
+ dumpdb <dbname>
+
+This command runs the exim_dumpdb utility on the testing spool directory, using
+the database name given, for example: "dumpdb retry".
+
+
echo <text>
The text is written to the screen; this is used to output comments from
scripts.
+ exim_lock [options] <file name>
+
+This command runs the exim_lock utility with the given options and file name.
+The file remains locked with the following command (normally exim) is obeyed.
+
+
+ exinext <data>
+
+This command runs the exinext utility with the given argument data.
+
+
gnutls
This command is present at the start of all but one of the tests that use
GnuTLS. It copies a pre-existing parameter file into the spool directory, so
that Exim does not have to re-create the file each time. The first GnuTLS test
-does not do this, in order to test that Exim can create the file (it takes some
-time).
+does not do this, in order to test that Exim can create the file.
killdaemon
are still in existence at the end of the run (for messages that were not
delivered) are not compared with saved versions.
+
no_stderr_check
If this command is encountered anywhere in the script, the stderr output from
different order.
-A number of standard file management commands are recognized. These are cat,
-chmod, chown, cp, ln, ls, du, mkdir, mkfifo, rm, rmdir, and touch. Some are run
-as root using "sudo".
+A number of standard file management commands are also recognized. These are
+cat, chmod, chown, cp, du, ln, ls, du, mkdir, mkfifo, rm, rmdir, and touch.
+Some are run as root using "sudo".
Commands with input
may start with '<', which is not taken as part of the input data. If the
input does not match, the server bombs out with an error message.
-Here is a simple server example:
+Here is a simple example of server use in a test script:
server PORT_S
220 Greetings
messages to port PORT_S on the local host. When it has finished, the test
script waits for the "server" process to finish.
+The "mtpscript" program is like "server", except that it uses stdin/stdout for
+its input and output instead of a script. However, it is not called from test
+scripts; instead it is used as the command for pipe transports in some
+configurations, to simulate non-socket LMTP servers.
+
AUXILIARY DATA FILES
--------------------