]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
runtests.pl: add an -o option to change internal variables
authorFabian Keil <fk@fabiankeil.de>
Thu, 9 Oct 2014 13:48:19 +0000 (15:48 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 8 Feb 2021 23:28:29 +0000 (00:28 +0100)
runtests.pl has lots of internal variables one might want to
change in certain situations, but adding a dedicated option
for every single one of them isn't practical.

Usage:
./runtests.pl -o TESTDIR=$privoxy_curl_test_dir -o HOSTIP=10.0.0.1 ...

tests/runtests.pl

index 70eb867cd02a21371dbbbedbaf959211ec43eeac..e836e9fa235a670f8f7b76ae25e940e79b846d8f 100755 (executable)
@@ -5429,6 +5429,15 @@ while(@ARGV) {
         # continue anyway, even if a test fail
         $anyway=1;
     }
+    elsif($ARGV[0] eq "-o") {
+        shift @ARGV;
+        if ($ARGV[0] =~ /^(\w+)=([\w.:\/\[\]-]+)$/) {
+            my ($variable, $value) = ($1, $2);
+            eval "\$$variable='$value'" or die "Failed to set \$$variable to $value: $@";
+        } else {
+            die "Failed to parse '-o $ARGV[0]'. May contain unexpected characters.\n";
+        }
+    }
     elsif($ARGV[0] eq "-p") {
         $postmortem=1;
     }
@@ -5495,6 +5504,7 @@ Usage: runtests.pl [options] [test selection(s)]
   -L path  require an additional perl library file to replace certain functions
   -l       list all test case names/descriptions
   -n       no valgrind
+  -o variable=value set internal variable to the specified value
   -P proxy use the specified proxy
   -p       print log file contents when a test fails
   -R       scrambled order (uses the random seed, see --seed)