summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-12-13 17:27:12 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-12-15 11:54:45 +0100
commit571f2c81d10e9093b4eb91b3714f640af4c9eab1 (patch)
tree8cc629e8201349f0f938f49c754099b8984964d5
parent024981cd1e69690a1efe521b32dca47f6f1e70f2 (diff)
downloadcurl-571f2c81d10e9093b4eb91b3714f640af4c9eab1.tar.gz
runtests: --repeat=[num] to repeat tests
Closes #4715
-rw-r--r--tests/runtests.17
-rwxr-xr-xtests/runtests.pl12
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