Move from table to tree for lookups
[exim.git] / test / runtest
index d73bc393e490de27f02a83277e9fa02612c8d8ee..ab8371942d7ca1b17dcbaa5d6ff822272a69507c 100755 (executable)
@@ -1160,11 +1160,11 @@ RESET_AFTER_EXTRA_LINE_READ:
                (?: .*\sBerkeley\ DB
                  | \sProbably\ (?:Berkeley\ DB|ndbm|GDBM)
                  | \sUsing\ (?:tdb|sqlite3)
-                 | Authenticators:
+                 | Authenticators\ \((?:built-in|dynamic)\):
                  | Lookups(?:\(built-in\))?:
                  | Support\ for:
-                 | Routers:
-                 | Transports:
+                 | Routers\ \((?:built-in|dynamic)\):
+                 | Transports\ \((?:built-in|dynamic)\):
                  | Malware:
                  | log\ selectors\ =
                  | cwd=
@@ -1234,7 +1234,7 @@ RESET_AFTER_EXTRA_LINE_READ:
     # Lookups have a char which depends on the number of lookup types compiled in,
     # in stderr output.  Replace with a "0".  Recognising this while avoiding
     # other output is fragile; perhaps the debug output should be revised instead.
-    s%^\s+(:?closing )?\K[0-?]TESTSUITE/aux-fixed/%0TESTSUITE/aux-fixed/%g;
+    s%^\s+(?:closing )?\K[0-Z]TESTSUITE/aux-fixed/%0TESTSUITE/aux-fixed/%g;
 
     # drop gnutls version strings
     next if /GnuTLS compile-time version: \d+[\.\d]+$/;
@@ -1298,11 +1298,15 @@ RESET_AFTER_EXTRA_LINE_READ:
 
     # drop lookups
     next if /^$time_pid?(?: Lookups\ \((?:built-in|dynamic)\):
-                                       |Loaded\ "[^.]+\.so"\ \(\d+\ lookup\ types\)
+                                       | Loaded\ "[^.]+\.so"\ \(\d+\ lookup\ types\)
                                        | Loading\ lookup\ modules\ from
                                        | Loaded\ \d+\ lookup\ modules
                                        | Total\ \d+\ lookups)/x;
 
+    # drop loads of dyn-module drivers
+    next if /^$time_pid?(?:Loading\ \w+\ (?:router|transport|auth)\ driver\ from
+                         | Loaded\ \w+\ (?:router|transport|auth)$)/x;
+
     # drop compiler information
     next if /^$time_pid?Compiler:/;
 
@@ -1467,7 +1471,7 @@ RESET_AFTER_EXTRA_LINE_READ:
       }
 
     # Different builds will have different lookup types included
-    s/search_type \K\d+ \((\w+)\) quoting -1 \(none\)$/NN ($1) quoting -1 (none)/;
+    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%;
@@ -3737,33 +3741,37 @@ while (<EXIMINFO>)
     @parm_lookups{keys %temp_lookups} = values %temp_lookups;
     }
 
-  elsif (/^Authenticators(.*)/)
+  elsif (/^Authenticators \((?:built-in|dynamic)\):  ?(.*)/)
     {
     print;
     @temp = split /(\s+)/, $1;
     push(@temp, ' ');
-    %parm_authenticators = @temp;
+    my %temp_auths= @temp;
+    @parm_authenticators{keys %temp_auths} = values %temp_auths;
     }
 
-  elsif (/^Routers(.*)/)
+  elsif (/^Routers \((?:built-in|dynamic)\):  ?(.*)/)
     {
     print;
     @temp = split /(\s+)/, $1;
     push(@temp, ' ');
-    %parm_routers = @temp;
+    my %temp_routers = @temp;
+    @parm_routers{keys %temp_routers} = values %temp_routers;
     }
 
   # Some transports have options, e.g. appendfile/maildir. For those, ensure
   # that the basic transport name is set, and then the name with each of the
   # options.
 
-  elsif (/^Transports: (.*)/)
+  elsif (/^Transports \((?:built-in|dynamic)\): (.*)/)
     {
     print;
     @temp = split /(\s+)/, $1;
     my($i,$k);
     push(@temp, ' ');
-    %parm_transports = @temp;
+    my %temp_transports = @temp;
+    @parm_transports{keys %temp_transports} = values %temp_transports;
+
     foreach $k (keys %parm_transports)
       {
       if ($k =~ "/")