Add -Mvc option.
[users/jgh/exim.git] / test / runtest
index 328b8995868f96fd780acf2389bffdfe7000b422..aba2662920ece5b5394c84fae98fb8afd2a54480 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
 #! /usr/bin/perl -w
 
-# $Cambridge: exim/test/runtest,v 1.23 2007/01/31 16:52:12 ph10 Exp $
+# $Cambridge: exim/test/runtest,v 1.27 2007/06/14 13:20:38 ph10 Exp $
 
 ###############################################################################
 # This is the controlling script for the "new" test suite for Exim. It should #
 
 ###############################################################################
 # This is the controlling script for the "new" test suite for Exim. It should #
@@ -23,7 +23,7 @@ use Socket;
 
 # Start by initializing some global variables
 
 
 # Start by initializing some global variables
 
-$testversion = "4.67 (15-Jan-07)";
+$testversion = "4.68 (16-Apr-07)";
 
 $cf = "bin/cf";
 $cr = "\r";
 
 $cf = "bin/cf";
 $cr = "\r";
@@ -330,7 +330,8 @@ while(<IN>)
   s/TlRMTVNTUAACAAAAAAAAAAAoAAABgg[\w+\/]+/TlRMTVNTUAACAAAAAAAAAAAoAAABggAAAEbBRwqFwwIAAAAAAAAAAAAt1sgAAAAA/;
 
   # PRVS values
   s/TlRMTVNTUAACAAAAAAAAAAAoAAABgg[\w+\/]+/TlRMTVNTUAACAAAAAAAAAAAoAAABggAAAEbBRwqFwwIAAAAAAAAAAAAt1sgAAAAA/;
 
   # PRVS values
-  s?prvs=([^/]+)/[\da-f]{10}@?prvs=$1/xxxxxxxxxx@?g;
+  s?prvs=([^/]+)/[\da-f]{10}@?prvs=$1/xxxxxxxxxx@?g;    # Old form
+  s?prvs=[\da-f]{10}=([^@]+)@?prvs=xxxxxxxxxx=$1@?g;    # New form
 
   # Error lines on stdout from SSL contain process id values and file names.
   # They also contain a source file name and line number, which may vary from
 
   # Error lines on stdout from SSL contain process id values and file names.
   # They also contain a source file name and line number, which may vary from
@@ -463,9 +464,10 @@ while(<IN>)
 
 
   # ======== Exim's login ========
 
 
   # ======== Exim's login ========
-  # For bounce messages, this will appear on the U= lines in logs and also
-  # after Received: and in addresses. In one pipe test it appears after
-  # "Running as:". It also appears in addresses, and in the names of lock
+  # For messages received by the daemon, this is in the -H file, which some
+  # tests inspect. For bounce messages, this will appear on the U= lines in
+  # logs and also after Received: and in addresses. In one pipe test it appears
+  # after "Running as:". It also appears in addresses, and in the names of lock
   # files.
 
   s/U=$parm_eximuser/U=EXIMUSER/;
   # files.
 
   s/U=$parm_eximuser/U=EXIMUSER/;
@@ -482,6 +484,8 @@ while(<IN>)
   s/\buid=$parm_exim_uid\b/uid=EXIM_UID/g;
   s/\bgid=$parm_exim_gid\b/gid=EXIM_GID/g;
 
   s/\buid=$parm_exim_uid\b/uid=EXIM_UID/g;
   s/\bgid=$parm_exim_gid\b/gid=EXIM_GID/g;
 
+  s/^$parm_eximuser $parm_exim_uid $parm_exim_gid/EXIMUSER EXIM_UID EXIM_GID/;
+
 
   # ======== General uids, gids, and pids ========
   # Note: this must come after munges for caller's and exim's uid/gid
 
   # ======== General uids, gids, and pids ========
   # Note: this must come after munges for caller's and exim's uid/gid
@@ -521,8 +525,8 @@ while(<IN>)
   s/\(port=(\d+)/"(port=" . new_value($1, "%s", \$next_port)/e;
 
   # This handles "connection from" and the like, when the port is given
   s/\(port=(\d+)/"(port=" . new_value($1, "%s", \$next_port)/e;
 
   # This handles "connection from" and the like, when the port is given
-  if (!/listening for SMTP on/ && !/Connecting to/ && !/=>/ && !/\*>/ &&
-      !/Connection refused/)
+  if (!/listening for SMTP on/ && !/Connecting to/ && !/=>/ && !/->/
+      && !/\*>/ && !/Connection refused/)
     {
     s/\[([a-z\d:]+|\d+(?:\.\d+){3})\]:(\d+)/"[".$1."]:".new_value($2,"%s",\$next_port)/ie;
     }
     {
     s/\[([a-z\d:]+|\d+(?:\.\d+){3})\]:(\d+)/"[".$1."]:".new_value($2,"%s",\$next_port)/ie;
     }
@@ -585,7 +589,7 @@ while(<IN>)
   s/([\s,])S=\d+\b/$1S=sss/;
   s/:S\d+\b/:Ssss/;
   s/^(\s*\d+m\s+)\d+(\s+[a-z0-9-]{16} <)/$1sss$2/i if $is_stdout;
   s/([\s,])S=\d+\b/$1S=sss/;
   s/:S\d+\b/:Ssss/;
   s/^(\s*\d+m\s+)\d+(\s+[a-z0-9-]{16} <)/$1sss$2/i if $is_stdout;
-  s/\sSIZE=\d+\b/ SIZE=ssss/ if $is_stderr || $is_stdout;
+  s/\sSIZE=\d+\b/ SIZE=ssss/;
   s/\ssize=\d+\b/ size=sss/ if $is_stderr;
   s/old size = \d+\b/old size = sssss/;
   s/message size = \d+\b/message size = sss/;
   s/\ssize=\d+\b/ size=sss/ if $is_stderr;
   s/old size = \d+\b/old size = sssss/;
   s/message size = \d+\b/message size = sss/;