X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/ebeaf99687d0fd6545c95983f0d91e2ddee7fbb7..db4d09028d12130b489cb7d5380641f3a61305af:/test/runtest diff --git a/test/runtest b/test/runtest index 472aeaf78..affd82ad4 100755 --- a/test/runtest +++ b/test/runtest @@ -1,6 +1,6 @@ #! /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.33 2009/11/23 13:22:05 nm4 Exp $ ############################################################################### # 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 -$testversion = "4.67 (15-Jan-07)"; +$testversion = "4.71 (23-Nov-09)"; $cf = "bin/cf"; $cr = "\r"; @@ -330,7 +330,8 @@ while() 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 @@ -338,6 +339,9 @@ while() 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/; @@ -489,6 +493,12 @@ while() # ======== 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/; @@ -588,7 +598,7 @@ while() 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/; @@ -713,6 +723,10 @@ while() s/\bgethostbyname2?|\bgetipnodebyname/get[host|ipnode]byname[2]/; + # drop gnutls version strings + next if /GnuTLS compile-time version: \d+[\.\d]+$/; + next if /GnuTLS runtime version: \d+[\.\d]+$/; + # We have to omit the localhost ::1 address so that all is well in # the IPv4-only case. @@ -720,6 +734,9 @@ while() if (/looked up these IP addresses/); next if /name=localhost address=::1/; + # drop pdkim debugging header + next if /^PDKIM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+$/; + # Various other IPv6 lines must be omitted too next if /using host_fake_gethostbyname for \S+ \(IPv6\)/; @@ -902,7 +919,7 @@ if (! -e $sf) print "\n"; print "------------ $f -----------\n" if (defined $rf && -s $rf && defined $rsf && -s $rsf); - system("$more $f"); + system("$more '$f'"); } } @@ -1016,7 +1033,7 @@ if (-e $sf) # 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 @@ -1036,7 +1053,7 @@ if (-e $sf) # 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); }