seems there is no "-a" parameter to "cp" in non-gnu "cp". Use "-p" instead.
[exim.git] / test / runtest
index 472aeaf78f9e45531db33f137c346af598e73ff9..dab23acec4946d23d5f40d6e28c2e39c7b7a8d38 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
 #! /usr/bin/perl -w
 
-# $Cambridge: exim/test/runtest,v 1.25 2007/03/14 12:15:56 ph10 Exp $
+# $Cambridge: exim/test/runtest,v 1.30 2007/08/30 13:35:29 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 (23-Aug-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
@@ -338,6 +339,9 @@ while(<IN>)
   s/^\d+:error:/pppp:error:/;
   s/:(?:\/[^\s:]+\/)?([^\/\s]+\.c):\d+:/:$1:dddd:/;
 
   s/^\d+:error:/pppp:error:/;
   s/:(?:\/[^\s:]+\/)?([^\/\s]+\.c):\d+:/:$1:dddd:/;
 
+  # There are differences in error messages between OpenSSL versions
+  s/SSL_CTX_set_cipher_list/SSL_connect/;
+
   # One error test in expansions mentions base 62 or 36
   s/is not a base (36|62) number/is not a base 36\/62 number/;
 
   # One error test in expansions mentions base 62 or 36
   s/is not a base (36|62) number/is not a base 36\/62 number/;
 
@@ -489,6 +493,12 @@ while(<IN>)
   # ======== 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
 
+  # These are for systems where long int is 64
+  s/\buid=4294967295/uid=-1/;
+  s/\beuid=4294967295/euid=-1/;
+  s/\bgid=4294967295/gid=-1/;
+  s/\begid=4294967295/egid=-1/;
+
   s/\bgid=\d+/gid=gggg/;
   s/\begid=\d+/egid=gggg/;
   s/\bpid=\d+/pid=pppp/;
   s/\bgid=\d+/gid=gggg/;
   s/\begid=\d+/egid=gggg/;
   s/\bpid=\d+/pid=pppp/;
@@ -588,7 +598,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/;
@@ -902,7 +912,7 @@ if (! -e $sf)
       print "\n";
       print "------------ $f -----------\n"
         if (defined $rf && -s $rf && defined $rsf && -s $rsf);
       print "\n";
       print "------------ $f -----------\n"
         if (defined $rf && -s $rf && defined $rsf && -s $rsf);
-      system("$more $f");
+      system("$more '$f'");
       }
     }
 
       }
     }
 
@@ -1016,7 +1026,7 @@ if (-e $sf)
 
   # Do the comparison
 
 
   # Do the comparison
 
-  return 0 if (system("$cf $mf $sf >test-cf") == 0);
+  return 0 if (system("$cf '$mf' '$sf' >test-cf") == 0);
 
   # Handle comparison failure
 
 
   # Handle comparison failure
 
@@ -1036,7 +1046,7 @@ if (-e $sf)
 # Update or delete the saved file, and give the appropriate return code.
 
 if (-s $mf)
 # Update or delete the saved file, and give the appropriate return code.
 
 if (-s $mf)
-  { tests_exit(-1, "Failed to cp $mf $sf") if system("cp $mf $sf") != 0; }
+  { tests_exit(-1, "Failed to cp $mf $sf") if system("cp '$mf' '$sf'") != 0; }
 else
   { tests_exit(-1, "Failed to unlink $sf") if !unlink($sf); }
 
 else
   { tests_exit(-1, "Failed to unlink $sf") if !unlink($sf); }