#! /usr/bin/perl -w
-# $Cambridge: exim/test/runtest,v 1.2 2006/02/08 14:28:51 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 #
$have_ipv4 = 1;
$have_ipv6 = 1;
+$have_largefiles = 0;
$test_start = 1;
$test_end = $test_top = 8999;
# Time to retry may vary
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;
# Maildirsize data
if (/^\d+S,\d+C\s*$/)
{
- print MUNGED "dddS,dC\n";
+ print MUNGED;
while (<IN>)
{
last if !/^\d+ \d+\s*$/;
/^Transports:/ ||
/^log selectors =/ ||
/^cwd=/ ||
- /^Fixed never_users:/
+ /^Fixed never_users:/ ||
+ /^Size of off_t:/
);
}
# 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");
{
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;
%parm_support = @temp;
}
- if (/^Lookups: (.*)/)
+ elsif (/^Lookups: (.*)/)
{
print;
@temp = split /(\s+)/, $1;
%parm_lookups = @temp;
}
- if (/^Authenticators: (.*)/)
+ elsif (/^Authenticators: (.*)/)
{
print;
@temp = split /(\s+)/, $1;
%parm_authenticators = @temp;
}
- if (/^Routers: (.*)/)
+ elsif (/^Routers: (.*)/)
{
print;
@temp = split /(\s+)/, $1;
# 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;
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;