X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/151b83f867487080e8f0e5cd6179e857dc6b3ccb..21c28500c0afea85a4acc9cd2e6c816522394431:/test/runtest diff --git a/test/runtest b/test/runtest index 92bbe804f..d5a161234 100755 --- a/test/runtest +++ b/test/runtest @@ -1,6 +1,6 @@ #! /usr/bin/perl -w -# $Cambridge: exim/test/runtest,v 1.1 2006/02/06 16:07:10 ph10 Exp $ +# $Cambridge: exim/test/runtest,v 1.4 2006/02/10 16:29:20 ph10 Exp $ ############################################################################### # This is the controlling script for the "new" test suite for Exim. It should # @@ -36,6 +36,7 @@ $server_opts = ""; $have_ipv4 = 1; $have_ipv6 = 1; +$have_largefiles = 0; $test_start = 1; $test_end = $test_top = 8999; @@ -406,16 +407,18 @@ while() # Date/time in mbx mailbox files s/\d\d-\w\w\w-\d\d\d\d\s\d\d:\d\d:\d\d\s[-+]\d\d\d\d,/06-Sep-1999 15:52:48 +0100,/gx; - # Date/time in debugging output for writing retry records + # Dates/times in debugging output for writing retry records if (/^ first failed=(\d+) last try=(\d+) next try=(\d+) (.*)$/) { my($next) = $3 - $2; $_ = " first failed=dddd last try=dddd next try=+$next $4\n"; } + s/^now=\d+ received_time=\d+ diff=\d+ timeout=(\d+)/now=tttt received_time=tttt diff=tttt timeout=$1/; # Time to retry may vary - s/time to retry = -\d+/time to retry = -ddddd/; - s/retry record exists: age=\d/retry record exists: age=d/; + s/time to retry = \S+/time to retry = tttt/; + s/retry record exists: age=\S+/retry record exists: age=ttt/; + s/failing_interval=\S+ message_age=\S+/failing_interval=ttt message_age=ttt/; # Date/time in exim -bV output s/\d\d-[A-Z][a-z]{2}-\d{4}\s\d\d:\d\d:\d\d/07-Mar-2000 12:21:52/g; @@ -612,7 +615,7 @@ while() # Maildirsize data if (/^\d+S,\d+C\s*$/) { - print MUNGED "dddS,dC\n"; + print MUNGED; while () { last if !/^\d+ \d+\s*$/; @@ -786,7 +789,8 @@ while() /^Transports:/ || /^log selectors =/ || /^cwd=/ || - /^Fixed never_users:/ + /^Fixed never_users:/ || + /^Size of off_t:/ ); } @@ -1457,7 +1461,7 @@ if (/^sleep\s+(.*)$/) # Various Unix management commands are recognized -if (/^(ln|ls|du|mkdir|mkfifo|touch|cp)\s/ || +if (/^(ln|ls|du|mkdir|mkfifo|touch|cp|cat)\s/ || /^sudo (rmdir|rm|chown|chmod)\s/) { run_system("$_ >>test-stdout 2>>test-stderr"); @@ -1581,7 +1585,8 @@ if (/^(cat)?write\s+(\S+)(?:\s+(.*))?\s*$/) # The "client" and "client-ssl" commands run a script-driven program that plays # the part of an email client. We also have the availability of running Perl -# for doing one-off special things. +# for doing one-off special things. Note that all these commands expect stdin +# data to be supplied. if (/^client/ || /^client-ssl/ || /^(sudo\s+)?perl\b/) { @@ -1949,9 +1954,14 @@ while () { my(@temp); - if (/^Exim version/) { print; next; } + if (/^Exim version/) { print; } - if (/^Support for: (.*)/) + elsif (/^Size of off_t: (\d+)/) + { + $have_largefiles = 1 if $1 > 4; + } + + elsif (/^Support for: (.*)/) { print; @temp = split /(\s+)/, $1; @@ -1959,7 +1969,7 @@ while () %parm_support = @temp; } - if (/^Lookups: (.*)/) + elsif (/^Lookups: (.*)/) { print; @temp = split /(\s+)/, $1; @@ -1967,7 +1977,7 @@ while () %parm_lookups = @temp; } - if (/^Authenticators: (.*)/) + elsif (/^Authenticators: (.*)/) { print; @temp = split /(\s+)/, $1; @@ -1975,7 +1985,7 @@ while () %parm_authenticators = @temp; } - if (/^Routers: (.*)/) + elsif (/^Routers: (.*)/) { print; @temp = split /(\s+)/, $1; @@ -1987,7 +1997,7 @@ while () # that the basic transport name is set, and then the name with each of the # options. - if (/^Transports: (.*)/) + elsif (/^Transports: (.*)/) { print; @temp = split /(\s+)/, $1; @@ -2850,6 +2860,15 @@ foreach $test (@test_list) if (/^rmfiltertest/) { $rmfiltertest = 1; next; } if (/^sortlog/) { $sortlog = 1; next; } + if (/^need_largefiles/) + { + next if $have_largefiles; + print ">>> Large file support is needed for test $testno, but is not available: skipping\n"; + $docheck = 0; # don't check output + undef $_; # pretend EOF + last; + } + if (/^need_ipv4/) { next if $have_ipv4;