git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
constification
[exim.git]
/
test
/
runtest
diff --git
a/test/runtest
b/test/runtest
index 1730a9889328c25acbebb4921b61a289b2bee1d0..24f80d3a42f708a57921dd020d73034d2f97ef5d 100755
(executable)
--- a/
test/runtest
+++ b/
test/runtest
@@
-18,7
+18,6
@@
#use strict;
use v5.10.1;
use warnings;
#use strict;
use v5.10.1;
use warnings;
-use if $^V >= v5.19.11, experimental => 'smartmatch';
use Errno;
use FileHandle;
use Errno;
use FileHandle;
@@
-1075,6
+1074,15
@@
RESET_AFTER_EXTRA_LINE_READ:
# mailq times change with when the run is done, vs. static-source spoolfiles
s/\s*\d*[hd](?= 317 [0-9A-Za-z\-]{23} <nobody\@test.ex>)/DDd/;
# mailq times change with when the run is done, vs. static-source spoolfiles
s/\s*\d*[hd](?= 317 [0-9A-Za-z\-]{23} <nobody\@test.ex>)/DDd/;
+
+ # Not all builds include EXPERIMENTAL_DSN_INFO (1 of 2)
+ if (/^X-Exim-Diagnostic:/)
+ {
+ while (<IN>) {
+ last if (/^$/ || !/^\s/);
+ }
+ goto RESET_AFTER_EXTRA_LINE_READ;
+ }
}
# ======== stderr ========
}
# ======== stderr ========
@@
-1631,6
+1639,15
@@
RESET_AFTER_EXTRA_LINE_READ:
<IN>;
<IN>;
}
<IN>;
<IN>;
}
+
+ # Not all builds include EXPERIMENTAL_DSN_INFO (2 of 2)
+ if (/^X-Exim-Diagnostic:/)
+ {
+ while (<IN>) {
+ last if (/^$/ || !/^\s/);
+ }
+ goto RESET_AFTER_EXTRA_LINE_READ;
+ }
}
# ======== All files other than stderr ========
}
# ======== All files other than stderr ========
@@
-2639,6
+2656,12
@@
if (/^(ln|ls|du|mkdir|mkfifo|touch|cp|cat)\s/ ||
run_system("$_ >>test-stdout 2>>test-stderr");
return 1;
}
run_system("$_ >>test-stdout 2>>test-stderr");
return 1;
}
+if (/^cat2\s/)
+ {
+ s/^cat2/cat/;
+ run_system("$_ 2>&1 >test-stderr");
+ return 1;
+ }
@@
-3376,6
+3399,7
@@
GetOptions(
print "Exim binary is `$parm_exim'\n" if defined $parm_exim;
print "Exim binary is `$parm_exim'\n" if defined $parm_exim;
+my %wanted;
my @wanted = sort numerically uniq
@tests_wanted ? @tests_wanted : (),
@range_wanted ? $range_wanted[0] .. $range_wanted[1] : (),
my @wanted = sort numerically uniq
@tests_wanted ? @tests_wanted : (),
@range_wanted ? $range_wanted[0] .. $range_wanted[1] : (),
@@
-3384,6
+3408,7
@@
my @wanted = sort numerically uniq
0+$ARGV[0]..0+$ARGV[1] # add 0 to cope with test numbers starting with zero
: ();
@wanted = 1..TEST_TOP if not @wanted;
0+$ARGV[0]..0+$ARGV[1] # add 0 to cope with test numbers starting with zero
: ();
@wanted = 1..TEST_TOP if not @wanted;
+map { $wanted{sprintf("%04d",$_)}= $_; } @wanted;
##################################################
# Check for sudo access to root #
##################################################
# Check for sudo access to root #
@@
-4196,7
+4221,8
@@
DIR: for (my $i = 0; $i < @test_dirs; $i++)
# We want the tests from this subdirectory, provided they are in the
# range that was selected.
# We want the tests from this subdirectory, provided they are in the
# range that was selected.
- @testlist = grep { $_ ~~ @wanted } grep { /^\d+(?:\.\d+)?$/ } map { basename $_ } glob "scripts/$testdir/*";
+ undef @testlist;
+ map { push @testlist, $_ if exists $wanted{$_} } grep { /^\d+(?:\.\d+)?$/ } map { basename $_ } glob "scripts/$testdir/*";
tests_exit(-1, "Failed to read test scripts from `scripts/$testdir/*': $!")
if not @testlist;
tests_exit(-1, "Failed to read test scripts from `scripts/$testdir/*': $!")
if not @testlist;