docs tidying
[exim.git] / test / runtest
index ab8371942d7ca1b17dcbaa5d6ff822272a69507c..a178659f9052817f65905ec2d9f5f7dd235fc8c0 100755 (executable)
@@ -383,7 +383,7 @@ $date = "\\d{2}-\\w{3}-\\d{4}\\s\\d{2}:\\d{2}:\\d{2}";
 
 # Debug time & pid
 
-$time_pid = "(?:\\d{2}:\\d{2}:\\d{2}\\s+\\d+\\s)";
+$time_pid = "(?:(?:\\d{2}:\\d{2}:\\d{2}\\s+)?\\d+\\s)";
 
 # Pattern for matching pids at start of stderr lines; initially something
 # that won't match.
@@ -1297,11 +1297,12 @@ RESET_AFTER_EXTRA_LINE_READ:
     next if /^tls_set_watch\(\) fail on '\/usr\/(?:lib\/ssl|local\/openssl3\/etc\/pki\/tls)\/cert.pem': No such file or directory$/;
 
     # drop lookups
-    next if /^$time_pid?(?: Lookups\ \((?:built-in|dynamic)\):
-                                       | Loaded\ "[^.]+\.so"\ \(\d+\ lookup\ types\)
-                                       | Loading\ lookup\ modules\ from
-                                       | Loaded\ \d+\ lookup\ modules
-                                       | Total\ \d+\ lookups)/x;
+    next if /(?: Lookups\ \((?:built-in|dynamic)\):
+             | searchtype\ \w+\ not\ initially\ found
+             | Loaded\ "\w+"\ \(\d+\ lookup\ types?\)
+             | Loading\ lookup\ modules\ from
+             | Loaded\ \d+\ lookup\ modules
+             | Total\ \d+\ built-in\ lookups)/x;
 
     # drop loads of dyn-module drivers
     next if /^$time_pid?(?:Loading\ \w+\ (?:router|transport|auth)\ driver\ from
@@ -1314,11 +1315,14 @@ RESET_AFTER_EXTRA_LINE_READ:
     # different libraries will have different numbers (possibly 0) of follow-up
     # lines, indenting with more data
     if (/^$time_pid?Library version:/) {
-      while (1) {
+      $_ = <IN>;
+      if (/^$time_pid?\s/) {
        $_ = <IN>;
-       next if /^$time_pid?\s/;
-       goto RESET_AFTER_EXTRA_LINE_READ;
+       if (/^$time_pid?\s/) {
+         $_ = <IN>;
+       }
       }
+      goto RESET_AFTER_EXTRA_LINE_READ;
     }
 
     # drop other build-time controls emitted for debugging
@@ -1471,7 +1475,6 @@ RESET_AFTER_EXTRA_LINE_READ:
       }
 
     # Different builds will have different lookup types included
-    s/quoter_id \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
     # and different numbers of lookup types result in different type-code letters,
     # so convert them all to "0"
     s%(?<!lsearch)[^ ](?=TESTSUITE/aux-fixed/(?:0414.list[12]|0464.domains)$)%0%;
@@ -1551,12 +1554,19 @@ RESET_AFTER_EXTRA_LINE_READ:
       <IN>; <IN>; <IN>; <IN>; <IN>; next;
       }
 
+    # various features can be built as dynamic-load modules
+    next if /loading module '(?:arc|exim_filter|dkim|dmarc|pam|perl|radius|sieve_filter|spf)'$/;
+
     # Not all platforms build with DKIM enabled
     next if /^DKIM >> Body data for hash, canonicalized/;
 
+    # Not all platforms build with SOCKS enabled
+    next if /^try option socks_proxy$/;
+
     # Not all platforms build with SPF enabled
-    next if /(^spf_conn_init|^SPF_dns_exim_new|spf_compile\.c)/;
+    next if /(^$time_pid?spf_conn_init|spf_compile\.c)/;
     next if /try option spf_smtp_comment_template$/;
+    next if /^$time_pid?Loaded "(?:dkim|dmarc|exim_filter|spf)"$/;
 
     # Not all platforms have sendfile support
     next if /^cannot use sendfile for body: no support$/;
@@ -4142,7 +4152,6 @@ system("sudo cp eximdir/exim eximdir/exim_exim;" .
        "sudo chmod 06755 eximdir/exim_exim");
 
 # Copy any libraries that were built for dynamic load
-# Currently this is only for lookup methods
 
 ($parm_exim_dir) = $parm_exim =~ m?^(.*)/exim?;
 
@@ -4424,6 +4433,9 @@ foreach $basedir ("aux-var", "dnszones")
       $" = ' ';
       }
 
+    my $testnum = 0;
+    if ($file =~ /^(\d+)/) { $testnum = $1; }
+
     print ">>Copying $basedir-src/$file to $basedir/$outfile\n" if $debug;
     open(IN, "$parm_cwd/$basedir-src/$file") ||
       tests_exit(-1, "Failed to open $parm_cwd/$basedir-src/$file: $!");
@@ -4431,7 +4443,7 @@ foreach $basedir ("aux-var", "dnszones")
       tests_exit(-1, "Failed to open $parm_cwd/$basedir/$outfile: $!");
     while (<IN>)
       {
-      do_substitute(0);
+      do_substitute($testnum);
       print OUT;
       }
     close(IN);