]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
runtests.pl: add %TESTNUMBER variable to make copying tests more convenient
authorFabian Keil <fk@fabiankeil.de>
Mon, 16 Jun 2014 14:03:00 +0000 (16:03 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 9 Feb 2021 07:16:40 +0000 (08:16 +0100)
tests/FILEFORMAT.md
tests/data/Makefile.inc
tests/data/test1183 [new file with mode: 0644]
tests/runtests.pl

index 41325ed66d3c0b406a0cd4d8b19c7c361410c5de..ec0dc4815a35daf8f757209ce92bf1ca92407a8d 100644 (file)
@@ -149,6 +149,7 @@ Available substitute variables include:
 - `%SSHPORT` - Port number of the SCP/SFTP server
 - `%SSHSRVMD5` - MD5 of SSH server's public key
 - `%SSH_PWD` - Current directory friendly for the SSH server
+- `%TESTNUMBER` - Number of the test case
 - `%TFTP6PORT` - IPv6 port number of the TFTP server
 - `%TFTPPORT` - Port number of the TFTP server
 - `%USER` - Login ID of the user running the test
index 5b60d1606747c64f7a60ae4722b46e61c827b48d..464eab2a9b9f897dfb917bbf375d161593828d9e 100644 (file)
@@ -137,7 +137,7 @@ 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 test1169 test1170 test1171 test1172 test1173 test1174 test1175 \
-test1176 test1177 test1178 test1179 test1180 test1181 test1182 \
+test1176 test1177 test1178 test1179 test1180 test1181 test1182 test1183 \
 \
 test1188 \
 \
diff --git a/tests/data/test1183 b/tests/data/test1183
new file mode 100644 (file)
index 0000000..d8309e6
--- /dev/null
@@ -0,0 +1,48 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK\r
+Server: Blafasel/5.0\r
+Date: Sat, 16 Jan 2021 14:48:30 GMT\r
+Content-Length: 12\r
+\r
+Bla bla bla
+</data>
+
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<features>
+proxy
+</features>
+ <name>
+%TESTNUMBER used instead of actual test number
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+</command>
+</client>
+
+# Verify that the %TESTNUMBER has been resolved to 1183
+<verify>
+<protocol>
+GET /1183 HTTP/1.1\r
+Host: %HOSTIP:%HTTPPORT\r
+User-Agent: curl/%VERSION\r
+Accept: */*\r
+\r
+</protocol>
+</verify>
+</testcase>
index e836e9fa235a670f8f7b76ae25e940e79b846d8f..e7ed435bc5bbf7dc320f03b65c49934ade8b6a03 100755 (executable)
@@ -3248,7 +3248,7 @@ sub checksystem {
 # a command, in either case passed by reference
 #
 sub subVariables {
-    my ($thing, $prefix) = @_;
+    my ($thing, $testnum, $prefix) = @_;
 
     if(!$prefix) {
         $prefix = "%";
@@ -3304,6 +3304,7 @@ sub subVariables {
     $$thing =~ s/${prefix}PWD/$pwd/g;
     $$thing =~ s/${prefix}POSIX_PWD/$posix_pwd/g;
     $$thing =~ s/${prefix}VERSION/$VERSION/g;
+    $$thing =~ s/${prefix}TESTNUMBER/$testnum/g;
 
     my $file_pwd = $pwd;
     if($file_pwd !~ /^\//) {
@@ -3447,6 +3448,7 @@ sub timestampskippedevents {
 # etc. Returns the processed version of the array
 
 sub prepro {
+    my $testnum = shift;
     my (@entiretest) = @_;
     my $show = 1;
     my @out;
@@ -3473,7 +3475,7 @@ sub prepro {
             next;
         }
         if($show) {
-            subVariables(\$s, "%");
+            subVariables(\$s, $testnum, "%");
             subBase64(\$s);
             subNewlines(\$s) if($has_hyper);
             push @out, $s;
@@ -3666,7 +3668,7 @@ sub singletest {
     my @entiretest = fulltest();
     my $otest = "log/test$testnum";
 
-    @entiretest = prepro(@entiretest);
+    @entiretest = prepro($testnum, @entiretest);
 
     # save the new version
     open(D, ">$otest");
@@ -5691,7 +5693,7 @@ sub disabledtests {
 
         # preprocess the input to make conditionally disabled tests depending
         # on variables
-        my @pp = prepro(@input);
+        my @pp = prepro(0, @input);
         for my $t (@pp) {
             if($t =~ /(\d+)/) {
                 my ($n) = $1;