Fix $mime_part_count for non-mime message on multi-message connection. Bug 2537
[users/jgh/exim.git] / test / runtest
index 1b704b1abd3eda458acd193aed093f027bece987..994ff9ff884c6cc615db23db315ea960cd5d4db2 100755 (executable)
@@ -1029,6 +1029,9 @@ RESET_AFTER_EXTRA_LINE_READ:
     # TLS resumption is not always supported by the build
     next if /^tls_resumption_hosts =/;
     next if /^-tls_resumption/;
     # TLS resumption is not always supported by the build
     next if /^tls_resumption_hosts =/;
     next if /^-tls_resumption/;
+
+    # gsasl library version may not support some methods
+    s/250-AUTH ANONYMOUS PLAIN SCRAM-SHA-1\K SCRAM-SHA-256//;
     }
 
   # ======== stderr ========
     }
 
   # ======== stderr ========
@@ -1207,10 +1210,18 @@ RESET_AFTER_EXTRA_LINE_READ:
     # timing variance, run-to-run
     s/^time on queue = \K1s/0s/;
 
     # timing variance, run-to-run
     s/^time on queue = \K1s/0s/;
 
+    # content-scan: file order can vary in directory
+    s%unspool_mbox\(\): unlinking 'TESTSUITE/spool/scan/[^/]*/\K[^\']*%FFFFFFFFF%;
+
     # Skip hosts_require_dane checks when the options
     # are unset, because dane ain't always there.
     next if /in\shosts_require_dane\?\sno\s\(option\sunset\)/x;
 
     # Skip hosts_require_dane checks when the options
     # are unset, because dane ain't always there.
     next if /in\shosts_require_dane\?\sno\s\(option\sunset\)/x;
 
+    # daemon notifier socket
+    s/^(creating notifier socket) .*$/$1/;
+    s/^(\s*\d+|ppppp) (creating notifier socket) .+$/ppppp $2/;
+    next if /unlinking notifier socket/;
+
     # DISABLE_OCSP
     next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/;
 
     # DISABLE_OCSP
     next if /in hosts_requ(est|ire)_ocsp\? (no|yes)/;
 
@@ -1320,12 +1331,14 @@ RESET_AFTER_EXTRA_LINE_READ:
 
     # Platform differences in errno strings
     s/  SMTP\(Operation timed out\)<</  SMTP(Connection timed out)<</;
 
     # Platform differences in errno strings
     s/  SMTP\(Operation timed out\)<</  SMTP(Connection timed out)<</;
-    s/Arg list too long/Argument list too long/;
 
     # Platform differences for errno values (eg. Hurd)
     s/^errno = \d+$/errno = EEE/;
     s/^writing error \d+: /writing error EEE: /;
 
 
     # Platform differences for errno values (eg. Hurd)
     s/^errno = \d+$/errno = EEE/;
     s/^writing error \d+: /writing error EEE: /;
 
+    # Some platforms have to flip to slow-mode taint-checking
+    next if /switching to slow-mode taint checking/;
+
     # When Exim is checking the size of directories for maildir, it uses
     # the check_dir_size() function to scan directories. Of course, the order
     # of the files that are obtained using readdir() varies from system to
     # When Exim is checking the size of directories for maildir, it uses
     # the check_dir_size() function to scan directories. Of course, the order
     # of the files that are obtained using readdir() varies from system to
@@ -1422,6 +1435,9 @@ RESET_AFTER_EXTRA_LINE_READ:
 
     # Platform differences for errno values (eg. Hurd).  Leave 0 and negative numbers alone.
     s/R=\w+ T=\w+ defer\K \([1-9]\d*\): / (EEE): /;
 
     # Platform differences for errno values (eg. Hurd).  Leave 0 and negative numbers alone.
     s/R=\w+ T=\w+ defer\K \([1-9]\d*\): / (EEE): /;
+
+    # Platform differences in errno strings
+    s/Arg list too long/Argument list too long/;
     }
 
   # ======== mail ========
     }
 
   # ======== mail ========
@@ -2322,8 +2338,7 @@ if (/^gnutls/)
 
 
 # The "killdaemon" command should ultimately follow the starting of any Exim
 
 
 # The "killdaemon" command should ultimately follow the starting of any Exim
-# daemon with the -bd option. We kill with SIGINT rather than SIGTERM to stop
-# it outputting "Terminated" to the terminal when not in the background.
+# daemon with the -bd option.
 
 if (/^killdaemon/)
   {
 
 if (/^killdaemon/)
   {
@@ -2335,14 +2350,14 @@ if (/^killdaemon/)
     print ">> killdaemon: recovered pid $pid\n" if $debug;
     if ($pid)
       {
     print ">> killdaemon: recovered pid $pid\n" if $debug;
     if ($pid)
       {
-      run_system("sudo /bin/kill -INT $pid");
+      run_system("sudo /bin/kill -TERM $pid");
       wait;
       }
     } else {
     $pid = `cat $parm_cwd/spool/exim-daemon.*`;
     if ($pid)
       {
       wait;
       }
     } else {
     $pid = `cat $parm_cwd/spool/exim-daemon.*`;
     if ($pid)
       {
-      run_system("sudo /bin/kill -INT $pid");
+      run_system("sudo /bin/kill -TERM $pid");
       close DAEMONCMD;                                   # Waits for process
       }
     }
       close DAEMONCMD;                                   # Waits for process
       }
     }