diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-12-13 17:27:12 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-12-15 11:54:45 +0100 |
commit | 571f2c81d10e9093b4eb91b3714f640af4c9eab1 (patch) | |
tree | 8cc629e8201349f0f938f49c754099b8984964d5 | |
parent | 024981cd1e69690a1efe521b32dca47f6f1e70f2 (diff) |
runtests: --repeat=[num] to repeat tests
Closes #4715
-rw-r--r-- | tests/runtests.1 | 7 | ||||
-rwxr-xr-x | tests/runtests.pl | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/runtests.1 b/tests/runtests.1 index bb36a8b44..69aafe579 100644 --- a/tests/runtests.1 +++ b/tests/runtests.1 @@ -82,6 +82,13 @@ Run the tests in a scrambled, or randomized, order instead of sequentially. Display run time statistics. (Requires Perl Time::HiRes module) .IP "-rf" Display full run time statistics. (Requires Perl Time::HiRes module) +.IP "--repeat=[num]" +This will repeat the given set of test numbers this many times. If no test +numbers are given, it will repeat ALL tests this many times. It iteratively +adds the new sequence at the end of the initially given one. + +If \fB-R\fP is also used, the scrambling is done after the repeats have +extended the test sequence. .IP "-s" Shorter output. Speaks less than default. .IP "--shallow=[num](,seed)" diff --git a/tests/runtests.pl b/tests/runtests.pl index 6ee2cca20..27f62edd5 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -186,6 +186,7 @@ my $server_response_maxtime=13; my $debug_build=0; # built debug enabled (--enable-debug) my $has_memory_tracking=0; # built with memory tracking (--enable-curldebug) my $libtool; +my $repeat = 0; # name of the file that the memory debugging creates: my $memdump="$LOGDIR/memdump"; @@ -5053,6 +5054,10 @@ while(@ARGV) { $shallowseed=$seed?$seed:1234; # get a real seed later srand($shallowseed); # make it predictable } + elsif($ARGV[0] =~ /--repeat=(\d+)/) { + # Repeat-run the given tests this many times + $repeat = $1; + } elsif($ARGV[0] eq "-a") { # continue anyway, even if a test fail $anyway=1; @@ -5342,6 +5347,13 @@ else { } $TESTCASES = $verified; } +if($repeat) { + my $s; + for(1 .. $repeat) { + $s .= $TESTCASES; + } + $TESTCASES = $s; +} if($scrambleorder) { # scramble the order of the test cases |