Another PCRE remnant.
[users/jgh/exim.git] / test / runtest
index d65d0b5301ef3fadef9187139ab26f5e7e59be51..0cc7b05fec616ef53c6eed00fc03c734db501ac1 100755 (executable)
@@ -1,7 +1,5 @@
 #! /usr/bin/perl -w
 
 #! /usr/bin/perl -w
 
-# $Cambridge: exim/test/runtest,v 1.37 2010/06/14 20:30:12 jetmore Exp $
-
 ###############################################################################
 # This is the controlling script for the "new" test suite for Exim. It should #
 # be possible to export this suite for running on a wide variety of hosts, in #
 ###############################################################################
 # This is the controlling script for the "new" test suite for Exim. It should #
 # be possible to export this suite for running on a wide variety of hosts, in #
@@ -299,6 +297,7 @@ $spid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
 
 while(<IN>)
   {
 
 while(<IN>)
   {
+RESET_AFTER_EXTRA_LINE_READ:
   # Check for "*** truncated ***"
   $yield = 1 if /\*\*\* truncated \*\*\*/;
 
   # Check for "*** truncated ***"
   $yield = 1 if /\*\*\* truncated \*\*\*/;
 
@@ -737,6 +736,36 @@ while(<IN>)
     next if /OpenSSL compile-time version: OpenSSL \d+[\.\da-z]+/;
     next if /OpenSSL runtime version: OpenSSL \d+[\.\da-z]+/;
 
     next if /OpenSSL compile-time version: OpenSSL \d+[\.\da-z]+/;
     next if /OpenSSL runtime version: OpenSSL \d+[\.\da-z]+/;
 
+    # drop lookups
+    next if /^Lookups \(built-in\):/;
+    next if /^Total \d+ lookups/;
+
+    # drop compiler information
+    next if /^Compiler:/;
+
+    # and the ugly bit
+    # different libraries will have different numbers (possibly 0) of follow-up
+    # lines, indenting with more data
+    if (/^Library version:/) {
+      while (1) {
+       $_ = <IN>;
+       next if /^\s/;
+       goto RESET_AFTER_EXTRA_LINE_READ;
+      }
+    }
+
+    # drop other build-time controls emitted for debugging
+    next if /^WHITELIST_D_MACROS:/;
+    next if /^TRUSTED_CONFIG_LIST:/;
+
+    # As of Exim 4.74, we log when a setgid fails; because we invoke Exim
+    # with -be, privileges will have been dropped, so this will always
+    # be the case
+    next if /^changing group to \d+ failed: Operation not permitted/;
+
+    # We invoke Exim with -D, so we hit this new messag as of Exim 4.73:
+    next if /^macros_trusted overridden to true by whitelisting/;
+
     # We have to omit the localhost ::1 address so that all is well in
     # the IPv4-only case.
 
     # We have to omit the localhost ::1 address so that all is well in
     # the IPv4-only case.
 
@@ -2003,7 +2032,7 @@ if ($parm_exim eq "")
 #          Find what is in the binary            #
 ##################################################
 
 #          Find what is in the binary            #
 ##################################################
 
-open(EXIMINFO, "$parm_exim -C confs/0000 -DDIR=$parm_cwd " .
+open(EXIMINFO, "$parm_exim -C $parm_cwd/confs/0000 -DDIR=$parm_cwd " .
                "-bP exim_user exim_group|") ||
   die "** Cannot run $parm_exim: $!\n";
 while(<EXIMINFO>)
                "-bP exim_user exim_group|") ||
   die "** Cannot run $parm_exim: $!\n";
 while(<EXIMINFO>)
@@ -2025,7 +2054,7 @@ if (defined $parm_eximgroup)
     else { $parm_exim_gid = getgrnam($parm_eximgroup); }
   }
 
     else { $parm_exim_gid = getgrnam($parm_eximgroup); }
   }
 
-open(EXIMINFO, "$parm_exim -bV -C confs/0000 -DDIR=$parm_cwd |") ||
+open(EXIMINFO, "$parm_exim -bV -C $parm_cwd/confs/0000 -DDIR=$parm_cwd |") ||
   die "** Cannot run $parm_exim: $!\n";
 
 print "-" x 78, "\n";
   die "** Cannot run $parm_exim: $!\n";
 
 print "-" x 78, "\n";
@@ -2052,7 +2081,7 @@ while (<EXIMINFO>)
     %parm_support = @temp;
     }
 
     %parm_support = @temp;
     }
 
-  elsif (/^Lookups: (.*)/)
+  elsif (/^Lookups \(built-in\): (.*)/)
     {
     print;
     @temp = split /(\s+)/, $1;
     {
     print;
     @temp = split /(\s+)/, $1;