Testsuite: sort output of retry DB dumps
[exim.git] / test / runtest
index c6111678fe1b74a9fd364b6ee32316a56562b151..7a2c020b5bbacfea3fc38e8e8ebd37b82ab208ff 100755 (executable)
@@ -806,7 +806,7 @@ RESET_AFTER_EXTRA_LINE_READ:
 
   # ==========================================================
   # MIME boundaries in RFC3461 DSN messages
-  s/\d{8,10}-eximdsn-\d{8,10}/NNNNNNNNNN-eximdsn-MMMMMMMMMM/;
+  s/\d{8,10}-eximdsn-\d+/NNNNNNNNNN-eximdsn-MMMMMMMMMM/;
 
   # ==========================================================
   # Some munging is specific to the specific file types
@@ -1302,19 +1302,25 @@ return 1;
 ##################################################
 $munges =
   { 'dnssec' =>
-    { 'stderr' => '/^Reverse DNS security status: unverified\n/', },
+    { 'stderr' => '/^Reverse DNS security status: unverified\n/' },
 
     'gnutls_unexpected' =>
-    { 'mainlog' => '/\(recv\): A TLS packet with unexpected length was received./', },
+    { 'mainlog' => '/\(recv\): A TLS packet with unexpected length was received./' },
 
     'gnutls_handshake' =>
-    { 'mainlog' => 's/\(gnutls_handshake\): Error in the push function/\(gnutls_handshake\): A TLS packet with unexpected length was received/', },
+    { 'mainlog' => 's/\(gnutls_handshake\): Error in the push function/\(gnutls_handshake\): A TLS packet with unexpected length was received/' },
 
     'optional_events' =>
-    { 'stdout' => '/event_action =/', },
+    { 'stdout' => '/event_action =/' },
 
     'optional_ocsp' =>
-    { 'stderr' => '/127.0.0.1 in hosts_requ(ire|est)_ocsp/', },
+    { 'stderr' => '/127.0.0.1 in hosts_requ(ire|est)_ocsp/' },
+
+    'no_tpt_filter_epipe' =>
+    { 'stderr' => '/^writing error 32: Broken pipe$/' },
+
+    'optional_cert_hostnames' =>
+    { 'stderr' => '/in tls_verify_cert_hostnames\? no/' },
 
   };
 
@@ -1660,19 +1666,42 @@ if (/^dump\s+(\S+)/)
   my(@temp);
   print ">> ./eximdir/exim_dumpdb $parm_cwd/spool $which\n" if $debug;
   open(IN, "./eximdir/exim_dumpdb $parm_cwd/spool $which |");
-  @temp = <IN>;
-  close(IN);
-  if ($which eq "callout")
+  open(OUT, ">>test-stdout");
+  print OUT "+++++++++++++++++++++++++++\n";
+
+  if ($which eq "retry")
     {
+    $/ = "\n  ";
+    @temp = <IN>;
+    $/ = "\n";
+
     @temp = sort {
-                 my($aa) = substr $a, 21;
-                 my($bb) = substr $b, 21;
-                 return $aa cmp $bb;
+                   my($aa) = split(' ', $a);
+                   my($bb) = split(' ', $b);
+                   return $aa cmp $bb;
                  } @temp;
+
+    foreach $item (@temp)
+      {
+      $item =~ s/^\s*(.*)\n(.*)\n?\s*$/\1\n\2/m;
+      print OUT "  $item\n";
+      }
     }
-  open(OUT, ">>test-stdout");
-  print OUT "+++++++++++++++++++++++++++\n";
-  print OUT @temp;
+  else
+    {
+    @temp = <IN>;
+    if ($which eq "callout")
+      {
+      @temp = sort {
+                   my($aa) = substr $a, 21;
+                   my($bb) = substr $b, 21;
+                   return $aa cmp $bb;
+                   } @temp;
+      }
+    print OUT @temp;
+    }
+
+  close(IN);
   close(OUT);
   return 1;
   }