curl-curl/tests/data/test1542
Stefan Eissing b453a447ce
connection: terminate after goaway
When a multiplex connection (h2/h3) is shutdown by the server, the
reported number of parallel transfers allowed drops to 0.

Determine that when the last transfer is done and terminate the
connection instead of keeping it in the cache.

We detect the drop to 0 also when we try to reuse such a connection, but
if we know this at the time the last transfer is done, we better
terminate it right away.

Have a consistent trace logging to this with the connections current
hostname and port. Adjust test expectations to carry port numbers.

Closes #17884
2025-07-27 22:49:12 +02:00

69 lines
1.2 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
connection reuse
persistent connection
CURLOPT_MAXLIFETIME_CONN
verbose logs
</keywords>
</info>
# Server-side
<reply>
<data nocheck="yes">
HTTP/1.1 200 OK
Content-Length: 0
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<tool>
lib%TESTNUMBER
</tool>
<name>
connection reuse with CURLOPT_MAXLIFETIME_CONN
</name>
<command>
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
GET /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
== Info: Connection #0 to host %HOSTIP:%HTTPPORT left intact
== Info: shutting down connection #0
== Info: Connection #1 to host %HOSTIP:%HTTPPORT left intact
</file>
<stripfile>
$_ = '' if(($_ !~ /left intact/) && ($_ !~ /(closing|shutting down) connection #\d+/))
</stripfile>
</verify>
</testcase>