mirror of
https://github.com/curl/curl.git
synced 2025-02-11 14:50:40 +08:00
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>
|