tests: introduce preprocessed test cases

The runtests script now always performs variable replacement on the
entire test source file before the test gets executed, and saves the
updated version in a temporary file (log/test[num]) so that all test
case readers/servers can use that version (if present) and thus enjoy
the powers of test case variable substitution.

This is necessary to allow complete port number freedom.

Test 309 is updated to work with a non-fixed port number thanks to this.
This commit is contained in:
Daniel Stenberg 2020-04-17 09:58:42 +02:00
parent 5e2f4a33fe
commit d009bc2e56
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
10 changed files with 171 additions and 177 deletions

View file

@ -14,7 +14,7 @@ followlocation
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
Location: https://127.0.0.1:%HTTPSPORT/data/3090002.txt?coolsite=yes
Connection: close
This server reply is for testing a simple Location: following to HTTPS URL
@ -33,7 +33,7 @@ If this is received, the location following worked
HTTP/1.1 301 This is a weirdo text message swsclose
Date: Thu, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Location: https://127.0.0.1:8991/data/3090002.txt?coolsite=yes
Location: https://127.0.0.1:%HTTPSPORT/data/3090002.txt?coolsite=yes
Connection: close
HTTP/1.1 200 Followed here fine swsclose
@ -61,10 +61,6 @@ HTTP Location: redirect to HTTPS URL
<command>
-k http://%HOSTIP:%HTTPPORT/want/309 -L
</command>
# The data section doesn't do variable substitution, so we must assert this
<precheck>
perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%HTTPSPORT' ne '8991' );"
</precheck>
</client>
# Verify data after the test has been "shot"