Expansions: more detail in error messages
[users/heiko/exim.git] / test / README
index 4f43b0b1a582e1d57f7975d74c142c8b41d8dca0..d986a47cbdeaebc60861e953ca62bed94b8dcae5 100644 (file)
@@ -114,7 +114,7 @@ In order to run this test suite, the following requirements must be met:
     is also an IPv6 address, additional tests are run when the Exim binary
     contains IPv6 support. There are checks in the scripts for a running IPv4
     interface; when one is not found, some tests are skipped (with a warning
     is also an IPv6 address, additional tests are run when the Exim binary
     contains IPv6 support. There are checks in the scripts for a running IPv4
     interface; when one is not found, some tests are skipped (with a warning
-    message).
+    message).  The local net may not be in 10.0/8 as that is used by the suite.
 
 (9) Exim must be built with TRUSTED_CONFIG_LIST support, so that the test
     configs can be placed into it.  A suitable file location is .../exim/test/trusted_configs
 
 (9) Exim must be built with TRUSTED_CONFIG_LIST support, so that the test
     configs can be placed into it.  A suitable file location is .../exim/test/trusted_configs
@@ -213,10 +213,12 @@ THE RUNTEST SCRIPT
 ------------------
 
 If you do not supply any arguments to ./runtest, it searches for an Exim
 ------------------
 
 If you do not supply any arguments to ./runtest, it searches for an Exim
-source tree at the same level as the test suite directory. It then looks for an
-Exim binary in a "build" directory of that source tree. If there are several
-Exim source trees, it chooses the latest version of Exim. Consider the
-following example:
+source tree at the same level as the test suite directory. A source tree
+is a source tree, if it contains a build-* directory.
+
+It then looks for an Exim binary in a "build" directory of that source
+tree. If there are several Exim source trees, it chooses the latest
+version of Exim. Consider the following example:
 
   $ ls -F /source/exim
   exim-4.60/  exim-4.62/  exim-testsuite-x.xx/
 
   $ ls -F /source/exim
   exim-4.60/  exim-4.62/  exim-testsuite-x.xx/
@@ -260,6 +262,17 @@ There are some options for the ./runtest script itself:
             (If it turns out that most people prefer to use diff, I'll change
             the default.)
 
             (If it turns out that most people prefer to use diff, I'll change
             the default.)
 
+  -FLAVOR <flavor>
+  -FLAVOUR <flavour>
+            This allows "overrides" for the test results. It's intended
+            use is to deal with distro specific differences in the test
+            output. The default flavour is "foo". If during the test
+            run differences between the current and the expected output
+            are found and no flavour file exists already, you may update
+            the "common" expected output or you may create a flavour
+            file. If  a flavour file already exists, any updates will go
+            into that flavour file!
+
   -KEEP     Normally, after a successful run, the test output files are
             deleted. This option prevents this. It is useful when running a
             single test, in order to look at the actual output before it is
   -KEEP     Normally, after a successful run, the test output files are
             deleted. This option prevents this. It is useful when running a
             single test, in order to look at the actual output before it is
@@ -827,6 +840,12 @@ terminated by four asterisks. Even if no data is required for the particular
 usage, the asterisks must be given.
 
 
 usage, the asterisks must be given.
 
 
+  background
+
+This command takes one script line and runs it in the background,
+in parallel with following commands.  For external daemons, eg. redis-server.
+
+
   catwrite <file name> [nxm[=start-of-line-text]]*
 
 This command operates like the "write" command, which is described below,
   catwrite <file name> [nxm[=start-of-line-text]]*
 
 This command operates like the "write" command, which is described below,
@@ -1144,9 +1163,6 @@ fake zone files.  These are:
                     data block. The addresses that are generated are in the
                     10.250.0.0/16 network.
 
                     data block. The addresses that are generated are in the
                     10.250.0.0/16 network.
 
-The domain names that are handled directly by Exim, without being passed to
-fakens, are:
-
   test.again.dns    This always provokes a TRY_AGAIN response, for testing the
                     handling of temporary DNS error. If the full domain name
                     starts with digits, a delay of that many seconds occurs.
   test.again.dns    This always provokes a TRY_AGAIN response, for testing the
                     handling of temporary DNS error. If the full domain name
                     starts with digits, a delay of that many seconds occurs.
@@ -1154,10 +1170,6 @@ fakens, are:
   test.fail.dns     This always provokes a NO_RECOVERY response, for testing
                     DNS server failures.
 
   test.fail.dns     This always provokes a NO_RECOVERY response, for testing
                     DNS server failures.
 
-This special handling could now be done in the fakens program, but while the
-old test suite is still being used it has to be done in Exim itself, so for the
-moment it remains there.
-
 The use of gethostbyname() and its IPv6 friends is also subverted when Exim is
 running in the test harness. The test code handles a few special names
 directly; for all the others it uses DNS lookups, which are then handled as
 The use of gethostbyname() and its IPv6 friends is also subverted when Exim is
 running in the test harness. The test code handles a few special names
 directly; for all the others it uses DNS lookups, which are then handled as