mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
f2fa4112ad
This cripples the test somewhat but the check was bad since depending on timing it could exit before the output was done, making the test flaky.
70 lines
1.2 KiB
Plaintext
70 lines
1.2 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
WebSockets
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Sends a PING + a 5 byte hello TEXT
|
|
<reply>
|
|
<data nocheck="yes" nonewline="yes">
|
|
HTTP/1.1 101 Switching to WebSockets swsclose
|
|
Server: test-server/fake
|
|
Upgrade: websocket
|
|
Connection: Upgrade
|
|
Something: else
|
|
Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
|
|
|
|
%hex[%89%00%81%05hello]hex%
|
|
</data>
|
|
# allow upgrade
|
|
<servercmd>
|
|
upgrade
|
|
</servercmd>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
# require debug for the forced CURL_ENTROPY
|
|
<features>
|
|
debug
|
|
ws
|
|
</features>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
WebSockets curl_ws_recv() with closed connection
|
|
</name>
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
<command>
|
|
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# PONG with no data and the 32 bit mask
|
|
#
|
|
<verify>
|
|
<protocol nocheck="yes" crlf="yes">
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
User-Agent: websocket/2304
|
|
Accept: */*
|
|
Upgrade: websocket
|
|
Connection: Upgrade
|
|
Sec-WebSocket-Version: 13
|
|
Sec-WebSocket-Key: NDMyMTUzMjE2MzIxNzMyMQ==
|
|
|
|
</protocol>
|
|
|
|
# This test used to check that "connection closed" was output, but
|
|
# that is flaky since the outgoing PING just before might fail already
|
|
# and then the test exists before the output gets to be written
|
|
</verify>
|
|
</testcase>
|