X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1955ffa1aad186705bae1a0868c4cc4902cc256e..72cb765f4ce4f9b503e45060b42e33f1248e8b64:/test/runtest diff --git a/test/runtest b/test/runtest index c32222dc0..da02aa4bb 100755 --- a/test/runtest +++ b/test/runtest @@ -926,6 +926,9 @@ RESET_AFTER_EXTRA_LINE_READ: # Postgres server takes varible time to shut down; lives in various places s/^waiting for server to shut down\.+ done$/waiting for server to shut down.... done/; s/^\/.*postgres /POSTGRES /; + + # ARC is not always supported by the build + next if /^arc_sign =/; } # ======== stderr ======== @@ -1006,7 +1009,7 @@ RESET_AFTER_EXTRA_LINE_READ: next if /name=localhost address=::1/; # drop pdkim debugging header - next if /^PDKIM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+$/; + next if /^PDKIM( <<<<<<<<<<<<<<<<<<<<<<<<<<<<<+|: no signatures)$/; # Various other IPv6 lines must be omitted too @@ -1135,6 +1138,9 @@ RESET_AFTER_EXTRA_LINE_READ: next if /^Waiting for MySQL server to answer/; next if /mysqladmin: CREATE DATABASE failed; .* database exists/; + # Not all builds include DMARC + next if /^DMARC: no (dmarc_tld_file|sender_host_address)$/ ; + # When Exim is checking the size of directories for maildir, it uses # the check_dir_size() function to scan directories. Of course, the order # of the files that are obtained using readdir() varies from system to @@ -3535,6 +3541,32 @@ DIR: for (my $i = 0; $i < @test_dirs; $i++) { if (!defined $parm_malware{$1}) { $wantthis = 0; last; } } + elsif (/^feature (.*)$/) + { + # move to a subroutine? + my $eximinfo = "$parm_exim -C $parm_cwd/test-config -DDIR=$parm_cwd -bP macro $1"; + + open (IN, "$parm_cwd/confs/0000") || + tests_exit(-1, "Couldn't open $parm_cwd/confs/0000: $!\n"); + open (OUT, ">test-config") || + tests_exit(-1, "Couldn't open test-config: $!\n"); + while () + { + do_substitute($testno); + print OUT; + } + close(IN); + close(OUT); + + system($eximinfo . " >/dev/null 2>&1"); + if ($? != 0) { + unlink("$parm_cwd/test-config"); + $wantthis = 0; + $_ = "feature $1"; + last; + } + unlink("$parm_cwd/test-config"); + } else { tests_exit(-1, "Unknown line in \"scripts/$testdir/REQUIRES\": \"$_\"");