summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Keil <fk@fabiankeil.de>2014-06-05 12:56:36 +0200
committerDaniel Stenberg <daniel@haxx.se>2021-02-09 00:28:28 +0100
commitb47ee58fb74cf3537e44aeb4876dfaf4a4b00ccb (patch)
tree16030352ebbcdf35724a66415b1d9dc7b8d038e1
parent4421359e7787712bd3c55933e8478d864f11a4cb (diff)
downloadcurl-b47ee58fb74cf3537e44aeb4876dfaf4a4b00ccb.tar.gz
runtests.pl: add -L parameter to require additional perl libraries
This is useful to change the behaviour of the script without having to modify the file itself, for example to use a custom compareparts() function that ignores header differences that are expected to occur when an external proxy is being used. Such differences are proxy-specific and thus the modifications should be maintained together with the proxy.
-rw-r--r--tests/data/Makefile.inc2
-rw-r--r--tests/data/test116935
-rwxr-xr-xtests/runtests.pl6
3 files changed, 42 insertions, 1 deletions
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 6b6f2bc5f..485fd72b6 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -136,7 +136,7 @@ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \
test1160 test1161 test1162 test1163 test1164 test1165 test1166 test1167 \
-test1168 test1170 test1171 test1172 test1173 test1174 test1175 \
+test1168 test1169 test1170 test1171 test1172 test1173 test1174 test1175 \
test1176 test1177 test1178 test1179 test1180 test1181 \
\
test1188 \
diff --git a/tests/data/test1169 b/tests/data/test1169
new file mode 100644
index 000000000..e7f7df466
--- /dev/null
+++ b/tests/data/test1169
@@ -0,0 +1,35 @@
+<testcase>
+<info>
+<keywords>
+runtests.pl
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<name>
+Verify that runtests.pl accepts an -L option
+</name>
+
+<command type="perl">
+%SRCDIR/runtests.pl -L %SRCDIR/log/test1196-library.pl
+</command>
+# Create a simple perl snippet that lets runtests.pl
+# exit with a code we can check.
+<precheck>
+echo 'exit 123' > %SRCDIR/log/test1196-library.pl
+</precheck>
+
+</client>
+
+<verify>
+<errorcode>
+123
+</errorcode>
+</verify>
+
+</testcase>
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 57aa7394a..27800d817 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -5389,6 +5389,11 @@ while(@ARGV) {
$use_external_proxy=1;
$proxy_address=$ARGV[0];
}
+ elsif($ARGV[0] eq "-L") {
+ # require additional library file
+ shift @ARGV;
+ require $ARGV[0];
+ }
elsif($ARGV[0] eq "-l") {
# lists the test case names only
$listonly=1;
@@ -5438,6 +5443,7 @@ Usage: runtests.pl [options] [test selection(s)]
-gw run the test case with gdb as a windowed application
-h this help text
-k keep stdout and stderr files present after tests
+ -L path require an additional perl library file to replace certain functions
-l list all test case names/descriptions
-n no valgrind
-P proxy use the specified proxy