curl-curl/tests/data/test2502
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

104 lines
2.0 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP/3
multi
verbose logs
</keywords>
</info>
# Server-side
<reply>
<data1 crlf="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: server.example.com
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: server.example.com
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: server.example.com
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: server.example.com
Content-Length: 47
file contents should appear once for each file
</data4>
</reply>
# Client-side
<client>
<features>
http/3
</features>
<server>
http/3
</server>
<tool>
lib%TESTNUMBER
</tool>
<name>
HTTP GET multiple over HTTP/3
</name>
<command>
https://%HOSTIP:%HTTP3PORT/path/%TESTNUMBER %HOSTIP %HTTP3PORT %CERTDIR/certs/test-ca.cacert
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol crlf="yes">
GET https://localhost:%HTTP3PORT/path/%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Via: 3 nghttpx
GET https://localhost:%HTTP3PORT/path/%TESTNUMBER0002 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Via: 3 nghttpx
GET https://localhost:%HTTP3PORT/path/%TESTNUMBER0003 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Via: 3 nghttpx
GET https://localhost:%HTTP3PORT/path/%TESTNUMBER0004 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
Via: 3 nghttpx
</protocol>
<strip>
^Host:.*
</strip>
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
== Info: Connection #0 to host localhost:%HTTP3PORT left intact
== Info: Connection #0 to host localhost:%HTTP3PORT left intact
== Info: Connection #0 to host localhost:%HTTP3PORT left intact
== Info: Connection #0 to host localhost:%HTTP3PORT left intact
</file>
<stripfile>
$_ = '' if(($_ !~ /left intact/) && ($_ !~ /Closing connection/))
</stripfile>
</verify>
</testcase>