mirror of
https://github.com/curl/curl.git
synced 2025-01-06 13:44:52 +08:00
dbf4c4030a
Use the closure handle for disconnecting connection cache entries so that anything that happens during the disconnect is not stored and associated with the 'data' handle which already just finished a transfer and it is important that details from the unrelated disconnect does not taint meta-data in the data handle. Like storing the response code. This also adjust test 1506. Unfortunately it also removes a key part of the test that verifies that a connection is closed since when this output vanishes (because the closure handle is used), we don't know exactly that the connection actually gets closed in this test... Reported-by: ohyeaah on github Fixes #12367 Closes #12405
96 lines
1.8 KiB
Plaintext
96 lines
1.8 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
multi
|
|
verbose logs
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data1>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data1>
|
|
<data2>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data2>
|
|
<data3>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data3>
|
|
<data4>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake
|
|
Content-Length: 47
|
|
|
|
file contents should appear once for each file
|
|
</data4>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
<name>
|
|
HTTP GET connection cache limit (CURLMOPT_MAXCONNECTS)
|
|
</name>
|
|
<command>
|
|
http://%HOSTIP:%HTTPPORT/path/%TESTNUMBER %HOSTIP %HTTPPORT
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
GET /path/%TESTNUMBER0001 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /path/%TESTNUMBER0002 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /path/%TESTNUMBER0003 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
GET /path/%TESTNUMBER0004 HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
<strip>
|
|
^Host:.*
|
|
</strip>
|
|
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
|
|
* Connection #0 to host server1.example.com left intact
|
|
* Connection #1 to host server2.example.com left intact
|
|
* Connection #2 to host server3.example.com left intact
|
|
* Connection #3 to host server4.example.com left intact
|
|
</file>
|
|
<stripfile>
|
|
$_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/))
|
|
</stripfile>
|
|
</verify>
|
|
</testcase>
|