diff options
author | Daniel Stenberg <daniel@haxx.se> | 2021-01-18 09:35:29 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-01-19 10:04:41 +0100 |
commit | f451206266be6ee6c843fb3a1b3d1d676a6d56b8 (patch) | |
tree | 5a1c160283321041c2a76c386cb5557933d6428f /tests | |
parent | bbfad7e8a1e6f5df4dad8c94bb0c155c13099cb7 (diff) | |
download | curl-f451206266be6ee6c843fb3a1b3d1d676a6d56b8.tar.gz |
runtests: preprocess DISABLED to allow conditionals
... with this function provided, we can disable tests for specific
environments and setups directly within this file.
Closes #6477
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/runtests.pl | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/tests/runtests.pl b/tests/runtests.pl index c35da5324..4971a6492 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -5257,12 +5257,6 @@ sub runtimestats { logmsg "\n"; } -# globally disabled tests -disabledtests("$TESTDIR/DISABLED"); - -# locally disabled tests, ignored by git etc -disabledtests("$TESTDIR/DISABLED.local"); - ####################################################################### # Check options to this test program # @@ -5574,12 +5568,16 @@ if(!$listonly) { checksystem(); } +# globally disabled tests +disabledtests("$TESTDIR/DISABLED"); + ####################################################################### # Fetch all disabled tests, if there are any # sub disabledtests { my ($file) = @_; + my @input; if(open(D, "<$file")) { while(<D>) { @@ -5587,17 +5585,29 @@ sub disabledtests { # allow comments next; } - if($_ =~ /(\d+)/) { + push @input, $_; + } + close(D); + + # preprocess the input to make conditionally disabled tests depending + # on variables + my @pp = prepro(@input); + for my $t (@pp) { + if($t =~ /(\d+)/) { my ($n) = $1; $disabled{$n}=$n; # disable this test number if(! -f "$srcdir/data/test$n") { - print STDERR "WARNING! Non-existing test $n in DISABLED!\n"; + print STDERR "WARNING! Non-existing test $n in $file!\n"; # fail hard to make user notice exit 1; } + logmsg "DISABLED: test $n\n" if ($verbose); + } + else { + print STDERR "$file: rubbish content: $t\n"; + exit 2; } } - close(D); } } |