File: test2720

package info (click to toggle)
curl 8.18.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 32,016 kB
  • sloc: ansic: 202,975; perl: 20,695; python: 10,293; sh: 6,684; makefile: 1,529; pascal: 239; cpp: 174
file content (87 lines) | stat: -rw-r--r-- 1,970 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
WebSockets
</keywords>
</info>

<client>
<name>
ws: Fragmented messages with empty fragments
</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
#   1st a message with an empty fragment at the beginning
#   2nd a message with an empty fragment in the middle
#   3rd a message with an empty fragment at the end
#   4th a message with only empty fragments
<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[%01%00]hex%%hex[%00%02a1]hex%%hex[%80%02a2]hex%%hex[%01%02b1]hex%%hex[%00%00]hex%%hex[%80%02b2]hex%%hex[%01%02c1]hex%%hex[%00%02c2]hex%%hex[%80%00]hex%%hex[%01%00]hex%%hex[%00%00]hex%%hex[%80%00]hex%%hex[%88%00]hex%
</data>
</reply>

<verify>

# Exact echo of reply data with additional masking
<protocol nonewline="yes">
%hex[%01%80%00%00%00%00]hex%%hex[%00%82%00%00%00%00a1]hex%%hex[%80%82%00%00%00%00a2]hex%%hex[%01%82%00%00%00%00b1]hex%%hex[%00%80%00%00%00%00]hex%%hex[%80%82%00%00%00%00b2]hex%%hex[%01%82%00%00%00%00c1]hex%%hex[%00%82%00%00%00%00c2]hex%%hex[%80%80%00%00%00%00]hex%%hex[%01%80%00%00%00%00]hex%%hex[%00%80%00%00%00%00]hex%%hex[%80%80%00%00%00%00]hex%%hex[%88%80%00%00%00%00]hex%
</protocol>

<stdout>
txt --- [0]
txt --- [2] a1
txt fin [2] a2
txt --- [2] b1
txt --- [0]
txt fin [2] b2
txt --- [2] c1
txt --- [2] c2
txt fin [0]
txt --- [0]
txt --- [0]
txt fin [0]
close [0]
</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>