Logs are written by several servers and all of them must be finished writing before the test results can be determined. This means each server must have its own lock file rather than sharing a single one, which is how it was done up to now. Previously, the first server to complete a test would clear the lock before the other server was done, which caused flaky tests. Lock files are now all found in their own directory, so counting locks equals counting the files in that directory. The result is that the proxy logs are now reliably written which actually changes the expected output for two tests. Fixes #11231 Closes #11259
91 lines
1.4 KiB
Plaintext
91 lines
1.4 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP GET
|
|
HTTP CONNECT
|
|
HTTP proxy
|
|
HTTP proxy Basic auth
|
|
proxytunnel
|
|
multi
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<servercmd>
|
|
connection-monitor
|
|
</servercmd>
|
|
<connect>
|
|
HTTP/1.1 200 Mighty fine indeed
|
|
|
|
</connect>
|
|
<data>
|
|
HTTP/1.1 200 OK swsclose
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
|
|
ETag: "21025-dc7-39462498"
|
|
|
|
</data>
|
|
<datacheck>
|
|
HTTP/1.1 200 Mighty fine indeed
|
|
|
|
HTTP/1.1 200 OK swsclose
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
|
|
ETag: "21025-dc7-39462498"
|
|
|
|
</datacheck>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
http-proxy
|
|
</server>
|
|
# tool is what to use instead of 'curl'
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
<features>
|
|
proxy
|
|
</features>
|
|
<name>
|
|
simple multi http:// through proxytunnel with authentication info
|
|
</name>
|
|
<command>
|
|
http://machine.%TESTNUMBER:%HTTPPORT/%TESTNUMBER %HOSTIP:%PROXYPORT
|
|
</command>
|
|
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
|
foo
|
|
bar
|
|
bar
|
|
foo
|
|
moo
|
|
</file>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<proxy>
|
|
CONNECT machine.%TESTNUMBER:%HTTPPORT HTTP/1.1
|
|
Host: machine.%TESTNUMBER:%HTTPPORT
|
|
Proxy-Authorization: Basic dGVzdDppbmc=
|
|
Proxy-Connection: Keep-Alive
|
|
|
|
[DISCONNECT]
|
|
</proxy>
|
|
<protocol>
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: machine.%TESTNUMBER:%HTTPPORT
|
|
Authorization: Basic dGVzdDppbmc=
|
|
Accept: */*
|
|
|
|
[DISCONNECT]
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|