curl-curl/tests/data/test2700
Viktor Szakats b5ea0736bb
tests/data: add XML prolog to test files
To formalize they are now XML-compliant (with some asterisks.)

Also to help syntax highlighters work on them to make their content more
readable.

Also:
- Delete empty comment decorations.
- GHA/checksrc: simplify XML check.
- runtests: fail to load test data with XML prolog missing.

Follow-up to bfe6eb1c06 #19927
Follow-up to 87ba80a6df

Closes #19946
2025-12-12 17:17:24 +01:00

78 lines
1.4 KiB
XML

<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
WebSockets
</keywords>
</info>
<client>
<name>
ws: Frame types
</name>
<features>
Debug
ws
</features>
<server>
http
</server>
<tool>
lib2700
</tool>
<command>
ws://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
<setenv>
CURL_WS_FORCE_ZERO_MASK=1
</setenv>
</client>
<reply>
<servercmd>
upgrade
</servercmd>
# Full list of frames: see 'verify.stdout' below
# A TEXT/BINARY/PING/PONG/CLOSE message with payload
<data nocheck="yes" nonewline="yes">
HTTP/1.1 101 Switching to WebSockets
Server: server/%TESTNUMBER
Upgrade: Websocket
Connection: Upgrade
Sec-WebSocket-Accept: HkPsVga7+8LuxM4RGQ5p9tZHeYs=
%hex[%81%03txt]hex%%hex[%82%03bin]hex%%hex[%89%04ping]hex%%hex[%8a%04pong]hex%%hex[%88%07%03%e8close]hex%
</data>
</reply>
<verify>
# Exact echo of reply data with additional masking
<protocol nonewline="yes">
%hex[%81%83%00%00%00%00txt]hex%%hex[%82%83%00%00%00%00bin]hex%%hex[%89%84%00%00%00%00ping]hex%%hex[%8a%84%00%00%00%00pong]hex%%hex[%88%87%00%00%00%00%03%e8close]hex%
</protocol>
# PING is handled by lib and never given to application
<stdout>
txt fin [3] txt
bin fin [3] bin
ping [4] ping
pong [4] pong
close [7] %hex[%03%e8]hex%close
</stdout>
# CURLE_OK
<errorcode>
0
</errorcode>
# Strip HTTP header from 'protocol'
<strip>
^GET /.*
^(Host|User-Agent|Accept|Upgrade|Connection|Sec-WebSocket-(Version|Key)): .*
^\s*$
</strip>
</verify>
</testcase>