Testsuite: ignore optional OCSP output from -bP testcase
[users/heiko/exim.git] / test / README
index 00bac50245162c6384f08bf96cd9dd4bcf6b5c44..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
-    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
@@ -213,10 +213,12 @@ THE RUNTEST SCRIPT
 ------------------
 
 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/
@@ -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.)
 
+  -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
@@ -827,6 +840,12 @@ terminated by four asterisks. Even if no data is required for the particular
 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,
@@ -887,6 +906,11 @@ example:
 Finally, "exim" can be preceded by "sudo", to run Exim as root. If more than
 one of these prefixes is present, they must be in the above order.
 
+If the options include "-DSERVER" but not "-DNOTDAEMON", the script waits for
+Exim to start but then continues without waiting for it to terminate. Typically
+this will be for a daemon-mode "-bd" operation.  The daemon should be later
+terminated using "killdaemon".
+
 
   exim_exim [<options>] [<arguments>]
 
@@ -1129,8 +1153,15 @@ directory by applying the standard substitutions. The test suite also builds
 dynamic zone files for the name of the current host and its IP address(es). The
 idea is that there should not be any need to rely on an external DNS.
 
-The domain names that are handled directly by Exim, without being passed to
-fakens, are:
+The fakens program handles some names programmatically rather than using the
+fake zone files.  These are:
+
+  manyhome.test.ex  This name is used for testing hosts with ridiculously large
+                    numbers of IP addresses; 2048 IP addresses are generated
+                    and returned. Doing it this way saves having to make the
+                    interface to fakens handle more records that can fit in the
+                    data block. The addresses that are generated are in the
+                    10.250.0.0/16 network.
 
   test.again.dns    This always provokes a TRY_AGAIN response, for testing the
                     handling of temporary DNS error. If the full domain name
@@ -1139,23 +1170,12 @@ fakens, are:
   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
 just described. Thus, the use of /etc/hosts is completely bypassed. The names
 that are specially handled are:
 
-  manyhome.test.ex  This name is used for testing hosts with ridiculously large
-                    numbers of IP addresses; 2048 IP addresses are generated
-                    and returned. Doing it this way saves having to make the
-                    interface to fakens handle more records that can fit in the
-                    data block. The addresses that are generated are in the
-                    10.250.0.0/16 network.
-
   localhost         Always returns 127.0.0.1 or ::1, for IPv4 and IPv6 lookups,
                     respectively.