Test summary report generated on
2011-09-22T21:49:37Z
by Autobahn WebSockets.
1 Framing | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
1.1 Text Messages | ||||
Case 1.1.1 | Pass | 1000 | Pass | 1000 |
Case 1.1.2 | Pass | 1000 | Pass | 1000 |
Case 1.1.3 | Pass | 1000 | Pass | 1000 |
Case 1.1.4 | Pass | 1000 | Pass | 1000 |
Case 1.1.5 | Pass | 1000 | Pass | 1000 |
Case 1.1.6 | Pass | 1000 | Pass | 1000 |
Case 1.1.7 | Pass | 1000 | Pass | 1000 |
Case 1.1.8 | Pass | 1000 | Pass | 1000 |
1.2 Binary Messages | ||||
Case 1.2.1 | Pass | 1000 | Pass | 1000 |
Case 1.2.2 | Pass | 1000 | Pass | 1000 |
Case 1.2.3 | Pass | 1000 | Pass | 1000 |
Case 1.2.4 | Pass | 1000 | Pass | 1000 |
Case 1.2.5 | Pass | 1000 | Pass | 1000 |
Case 1.2.6 | Pass | 1000 | Pass | 1000 |
Case 1.2.7 | Pass | 1000 | Pass | 1000 |
Case 1.2.8 | Pass | 1000 | Pass | 1000 |
2 Pings/Pongs | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
Case 2.1 | Pass | 1000 | Pass | 1000 |
Case 2.2 | Pass | 1000 | Pass | 1000 |
Case 2.3 | Pass | 1000 | Pass | 1000 |
Case 2.4 | Pass | 1000 | Pass | 1000 |
Case 2.5 | Pass | None | Pass | 1002 |
Case 2.6 | Pass | 1000 | Pass | 1000 |
Case 2.7 | Pass | 1000 | Pass | 1000 |
Case 2.8 | Pass | 1000 | Pass | 1000 |
Case 2.9 | Pass | 1000 | Pass | 1000 |
Case 2.10 | Pass | 1000 | Pass | 1000 |
Case 2.11 | Pass | 1000 | Pass | 1000 |
3 Reserved Bits | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
Case 3.1 | Pass | None | Pass | 1002 |
Case 3.2 | Pass | None | Pass | 1002 |
Case 3.3 | Pass | None | Pass | 1002 |
Case 3.4 | Pass | None | Pass | 1002 |
Case 3.5 | Pass | None | Pass | 1002 |
Case 3.6 | Pass | None | Pass | 1002 |
Case 3.7 | Pass | None | Pass | 1002 |
4 Opcodes | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
4.1 Non-control Opcodes | ||||
Case 4.1.1 | Pass | None | Pass | 1002 |
Case 4.1.2 | Pass | None | Pass | 1002 |
Case 4.1.3 | Pass | None | Pass | 1002 |
Case 4.1.4 | Pass | None | Pass | 1002 |
Case 4.1.5 | Pass | None | Pass | 1002 |
4.2 Control Opcodes | ||||
Case 4.2.1 | Pass | None | Pass | 1002 |
Case 4.2.2 | Pass | None | Pass | 1002 |
Case 4.2.3 | Pass | None | Pass | 1002 |
Case 4.2.4 | Pass | None | Pass | 1002 |
Case 4.2.5 | Pass | None | Pass | 1002 |
5 Fragmentation | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
Case 5.1 | Pass | None | Pass | 1002 |
Case 5.2 | Pass | None | Pass | 1002 |
Case 5.3 | Pass | 1000 | Pass | 1000 |
Case 5.4 | Pass | 1000 | Pass | 1000 |
Case 5.5 | Pass | 1000 | Pass | 1000 |
Case 5.6 | Pass | 1000 | Pass | 1000 |
Case 5.7 | Pass | 1000 | Pass | 1000 |
Case 5.8 | Pass | 1000 | Pass | 1000 |
Case 5.9 | Pass | None | Pass | 1002 |
Case 5.10 | Pass | None | Pass | 1002 |
Case 5.11 | Pass | None | Pass | 1002 |
Case 5.12 | Pass | None | Pass | 1002 |
Case 5.13 | Pass | None | Pass | 1002 |
Case 5.14 | Pass | None | Pass | 1002 |
Case 5.15 | Pass | None | Pass | 1002 |
Case 5.16 | Pass | None | Pass | 1002 |
Case 5.17 | Pass | None | Pass | 1002 |
Case 5.18 | Pass | None | Pass | 1002 |
Case 5.19 | Pass | 1000 | Pass | 1000 |
Case 5.20 | Pass | 1000 | Pass | 1000 |
6 UTF-8 Handling | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
6.1 Valid UTF-8 with zero payload fragments | ||||
Case 6.1.1 | Pass | 1000 | Pass | 1000 |
Case 6.1.2 | Pass | 1000 | Pass | 1000 |
Case 6.1.3 | Pass | 1000 | Pass | 1000 |
6.2 Valid UTF-8 unfragmented, fragmented on code-points and within code-points | ||||
Case 6.2.1 | Pass | 1000 | Pass | 1000 |
Case 6.2.2 | Pass | 1000 | Pass | 1000 |
Case 6.2.3 | Pass | 1000 | Pass | 1000 |
Case 6.2.4 | Pass | 1000 | Pass | 1000 |
6.3 Invalid UTF-8 differently fragmented | ||||
Case 6.3.1 | Pass | None | Pass | 1007 |
Case 6.3.2 | Pass | None | Pass | 1007 |
6.4 Fail-fast on invalid UTF-8 | ||||
Case 6.4.1 | Pass | None | Pass | 1007 |
Case 6.4.2 | Pass | None | Pass | 1007 |
Case 6.4.3 | Pass | None | Pass | 1007 |
Case 6.4.4 | Pass | None | Non-Strict | 1007 |
Case 6.4.5 | Pass | None | Non-Strict | 1007 |
6.5 Some valid UTF-8 sequences | ||||
Case 6.5.1 | Pass | 1000 | Pass | 1000 |
6.6 All prefixes of a valid UTF-8 string that contains multi-byte code points | ||||
Case 6.6.1 | Pass | None | Pass | 1007 |
Case 6.6.2 | Pass | 1000 | Pass | 1000 |
Case 6.6.3 | Pass | None | Pass | 1007 |
Case 6.6.4 | Pass | None | Pass | 1007 |
Case 6.6.5 | Pass | 1000 | Pass | 1000 |
Case 6.6.6 | Pass | None | Pass | 1007 |
Case 6.6.7 | Pass | 1000 | Pass | 1000 |
Case 6.6.8 | Pass | None | Pass | 1007 |
Case 6.6.9 | Pass | 1000 | Pass | 1000 |
Case 6.6.10 | Pass | None | Pass | 1007 |
Case 6.6.11 | Pass | 1000 | Pass | 1000 |
6.7 First possible sequence of a certain length | ||||
Case 6.7.1 | Pass | 1000 | Pass | 1000 |
Case 6.7.2 | Pass | 1000 | Pass | 1000 |
Case 6.7.3 | Pass | 1000 | Pass | 1000 |
Case 6.7.4 | Pass | 1000 | Pass | 1000 |
6.8 First possible sequence length 5/6 (invalid codepoints) | ||||
Case 6.8.1 | Pass | None | Pass | 1007 |
Case 6.8.2 | Pass | None | Pass | 1007 |
6.9 Last possible sequence of a certain length | ||||
Case 6.9.1 | Pass | 1000 | Pass | 1000 |
Case 6.9.2 | Pass | 1000 | Pass | 1000 |
Case 6.9.3 | Pass | 1000 | Pass | 1000 |
Case 6.9.4 | Pass | 1000 | Pass | 1000 |
6.10 Last possible sequence length 4/5/6 (invalid codepoints) | ||||
Case 6.10.1 | Pass | None | Pass | 1007 |
Case 6.10.2 | Pass | None | Pass | 1007 |
Case 6.10.3 | Pass | None | Pass | 1007 |
6.11 Other boundary conditions | ||||
Case 6.11.1 | Pass | 1000 | Pass | 1000 |
Case 6.11.2 | Pass | 1000 | Pass | 1000 |
Case 6.11.3 | Pass | 1000 | Pass | 1000 |
Case 6.11.4 | Pass | 1000 | Pass | 1000 |
Case 6.11.5 | Pass | None | Pass | 1007 |
6.12 Unexpected continuation bytes | ||||
Case 6.12.1 | Pass | None | Pass | 1007 |
Case 6.12.2 | Pass | None | Pass | 1007 |
Case 6.12.3 | Pass | None | Pass | 1007 |
Case 6.12.4 | Pass | None | Pass | 1007 |
Case 6.12.5 | Pass | None | Pass | 1007 |
Case 6.12.6 | Pass | None | Pass | 1007 |
Case 6.12.7 | Pass | None | Pass | 1007 |
Case 6.12.8 | Pass | None | Pass | 1007 |
6.13 Lonely start characters | ||||
Case 6.13.1 | Pass | None | Pass | 1007 |
Case 6.13.2 | Pass | None | Pass | 1007 |
Case 6.13.3 | Pass | None | Pass | 1007 |
Case 6.13.4 | Pass | None | Pass | 1007 |
Case 6.13.5 | Pass | None | Pass | 1007 |
6.14 Sequences with last continuation byte missing | ||||
Case 6.14.1 | Pass | None | Pass | 1007 |
Case 6.14.2 | Pass | None | Pass | 1007 |
Case 6.14.3 | Pass | None | Pass | 1007 |
Case 6.14.4 | Pass | None | Pass | 1007 |
Case 6.14.5 | Pass | None | Pass | 1007 |
Case 6.14.6 | Pass | None | Pass | 1007 |
Case 6.14.7 | Pass | None | Pass | 1007 |
Case 6.14.8 | Pass | None | Pass | 1007 |
Case 6.14.9 | Pass | None | Pass | 1007 |
Case 6.14.10 | Pass | None | Pass | 1007 |
6.15 Concatenation of incomplete sequences | ||||
Case 6.15.1 | Pass | None | Pass | 1007 |
6.16 Impossible bytes | ||||
Case 6.16.1 | Pass | None | Pass | 1007 |
Case 6.16.2 | Pass | None | Pass | 1007 |
Case 6.16.3 | Pass | None | Pass | 1007 |
6.17 Examples of an overlong ASCII character | ||||
Case 6.17.1 | Pass | None | Pass | 1007 |
Case 6.17.2 | Pass | None | Pass | 1007 |
Case 6.17.3 | Pass | None | Pass | 1007 |
Case 6.17.4 | Pass | None | Pass | 1007 |
Case 6.17.5 | Pass | None | Pass | 1007 |
6.18 Maximum overlong sequences | ||||
Case 6.18.1 | Pass | None | Pass | 1007 |
Case 6.18.2 | Pass | None | Pass | 1007 |
Case 6.18.3 | Pass | None | Pass | 1007 |
Case 6.18.4 | Pass | None | Pass | 1007 |
Case 6.18.5 | Pass | None | Pass | 1007 |
6.19 Overlong representation of the NUL character | ||||
Case 6.19.1 | Pass | None | Pass | 1007 |
Case 6.19.2 | Pass | None | Pass | 1007 |
Case 6.19.3 | Pass | None | Pass | 1007 |
Case 6.19.4 | Pass | None | Pass | 1007 |
Case 6.19.5 | Pass | None | Pass | 1007 |
6.20 Single UTF-16 surrogates | ||||
Case 6.20.1 | Pass | None | Pass | 1007 |
Case 6.20.2 | Pass | None | Pass | 1007 |
Case 6.20.3 | Pass | None | Pass | 1007 |
Case 6.20.4 | Pass | None | Pass | 1007 |
Case 6.20.5 | Pass | None | Pass | 1007 |
Case 6.20.6 | Pass | None | Pass | 1007 |
Case 6.20.7 | Pass | None | Pass | 1007 |
6.21 Paired UTF-16 surrogates | ||||
Case 6.21.1 | Pass | None | Pass | 1007 |
Case 6.21.2 | Pass | None | Pass | 1007 |
Case 6.21.3 | Pass | None | Pass | 1007 |
Case 6.21.4 | Pass | None | Pass | 1007 |
Case 6.21.5 | Pass | None | Pass | 1007 |
Case 6.21.6 | Pass | None | Pass | 1007 |
Case 6.21.7 | Pass | None | Pass | 1007 |
Case 6.21.8 | Pass | None | Pass | 1007 |
6.22 Non-character code points (valid UTF-8) | ||||
Case 6.22.1 | Pass | 1000 | Pass | 1000 |
Case 6.22.2 | Pass | 1000 | Pass | 1000 |
6.23 Unicode replacement character | ||||
Case 6.23.1 | Pass | 1000 | Pass | 1000 |
7 Close Handling | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
Case 7.1 | Pass | 1000 | Pass | 1000 |
Case 7.2 | Pass | 1000 | Pass | 1000 |
9 Limits/Performance | AutobahnServer/0.4.2 | WebSocket++ snapshot | ||
9.1 Text Message (increasing size) | ||||
Case 9.1.1 | Missing | Missing | ||
Case 9.1.2 | Missing | Missing | ||
Case 9.1.3 | Missing | Missing | ||
Case 9.1.4 | Missing | Missing | ||
Case 9.1.5 | Missing | Missing | ||
Case 9.1.6 | Missing | Missing | ||
9.2 Binary Message (increasing size) | ||||
Case 9.2.1 | Missing | Missing | ||
Case 9.2.2 | Missing | Missing | ||
Case 9.2.3 | Missing | Missing | ||
Case 9.2.4 | Missing | Missing | ||
Case 9.2.5 | Missing | Missing | ||
Case 9.2.6 | Missing | Missing | ||
9.3 Fragmented Text Message (fixed size, increasing fragment size) | ||||
Case 9.3.1 | Missing | Missing | ||
Case 9.3.2 | Missing | Missing | ||
Case 9.3.3 | Missing | Missing | ||
Case 9.3.4 | Missing | Missing | ||
Case 9.3.5 | Missing | Missing | ||
Case 9.3.6 | Missing | Missing | ||
Case 9.3.7 | Missing | Missing | ||
Case 9.3.8 | Missing | Missing | ||
Case 9.3.9 | Missing | Missing | ||
9.4 Fragmented Binary Message (fixed size, increasing fragment size) | ||||
Case 9.4.1 | Missing | Missing | ||
Case 9.4.2 | Missing | Missing | ||
Case 9.4.3 | Missing | Missing | ||
Case 9.4.4 | Missing | Missing | ||
Case 9.4.5 | Missing | Missing | ||
Case 9.4.6 | Missing | Missing | ||
Case 9.4.7 | Missing | Missing | ||
Case 9.4.8 | Missing | Missing | ||
Case 9.4.9 | Missing | Missing | ||
9.5 Text Message (fixed size, increasing chop size) | ||||
Case 9.5.1 | Missing | Missing | ||
Case 9.5.2 | Missing | Missing | ||
Case 9.5.3 | Missing | Missing | ||
Case 9.5.4 | Missing | Missing | ||
Case 9.5.5 | Missing | Missing | ||
Case 9.5.6 | Missing | Missing | ||
9.6 Binary Text Message (fixed size, increasing chop size) | ||||
Case 9.6.1 | Missing | Missing | ||
Case 9.6.2 | Missing | Missing | ||
Case 9.6.3 | Missing | Missing | ||
Case 9.6.4 | Missing | Missing | ||
Case 9.6.5 | Missing | Missing | ||
Case 9.6.6 | Missing | Missing |
Description
Send text message with payload 0.
Expectation
Receive echo'ed text message (with empty payload). Clean close with normal code.
Description
Send text message message with payload of length 125.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 126.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 127.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 128.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 65535.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 65536.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send text message message with payload of length 65536. Sent out data in chops of 997 octets.
Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
Description
Send binary message with payload 0.
Expectation
Receive echo'ed binary message (with empty payload). Clean close with normal code.
Description
Send binary message message with payload of length 125.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 126.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 127.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 128.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 65535.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 65536.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send binary message message with payload of length 65536. Sent out data in chops of 997 octets.
Expectation
Receive echo'ed binary message (with payload as sent). Clean close with normal code.
Description
Send ping without payload.
Expectation
Pong (with empty payload) is sent in reply to Ping. Clean close with normal code.
Description
Send ping with small text payload.
Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Description
Send ping with small binary (non UTF-8) payload.
Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Description
Send ping with binary payload of 125 octets.
Expectation
Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.
Description
Send ping with binary payload of 126 octets.
Expectation
Connection is failed immediately (1002/Protocol Error), since control frames are only allowed to have payload up to and including 125 octets..
Description
Send ping with binary payload of 125 octets, send in octet-wise chops.
Expectation
Pong with payload echo'ed is sent in reply to Ping. Implementations must be TCP clean. Clean close with normal code.
Description
Send unsolicited pong without payload. Verify nothing is received. Clean close with normal code.
Expectation
Nothing.
Description
Send unsolicited pong with payload. Verify nothing is received. Clean close with normal code.
Expectation
Nothing.
Description
Send unsolicited pong with payload. Send ping with payload. Verify pong for ping is received.
Expectation
Nothing in reply to own Pong, but Pong with payload echo'ed in reply to Ping. Clean close with normal code.
Description
Send 10 Pings with payload.
Expectation
Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.
Description
Send 10 Pings with payload. Send out octets in octet-wise chops.
Expectation
Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.
Description
Send small text message with RSV = 1.
Expectation
The connection is failed immediately (1002/protocol error), since RSV must be 0, when no extension defining RSV meaning has been negoiated.
Description
Send small text message, then send again with RSV = 2, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Description
Send small text message, then send again with RSV = 3, then send Ping. Octets are sent in frame-wise chops. Octets are sent in octet-wise chops.
Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Description
Send small text message, then send again with RSV = 4, then send Ping. Octets are sent in octet-wise chops.
Expectation
Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negoiated. The Pong is not received.
Description
Send small binary message with RSV = 5.
Expectation
The connection is failed immediately, since RSV must be 0.
Description
Send Ping with RSV = 6.
Expectation
The connection is failed immediately, since RSV must be 0.
Description
Send Close with RSV = 7.
Expectation
The connection is failed immediately, since RSV must be 0.
Description
Send frame with reserved non-control Opcode = 3.
Expectation
The connection is failed immediately.
Description
Send frame with reserved non-control Opcode = 4 and non-empty payload.
Expectation
The connection is failed immediately.
Description
Send small text message, then send frame with reserved non-control Opcode = 5, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send small text message, then send frame with reserved non-control Opcode = 6 and non-empty payload, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send small text message, then send frame with reserved non-control Opcode = 7 and non-empty payload, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send frame with reserved control Opcode = 11.
Expectation
The connection is failed immediately.
Description
Send frame with reserved control Opcode = 12 and non-empty payload.
Expectation
The connection is failed immediately.
Description
Send small text message, then send frame with reserved control Opcode = 13, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send small text message, then send frame with reserved control Opcode = 14 and non-empty payload, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send small text message, then send frame with reserved control Opcode = 15 and non-empty payload, then send Ping.
Expectation
Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.
Description
Send Ping fragmented into 2 fragments.
Expectation
Connection is failed immediately, since control message MUST NOT be fragmented.
Description
Send Pong fragmented into 2 fragments.
Expectation
Connection is failed immediately, since control message MUST NOT be fragmented.
Description
Send text Message fragmented into 2 fragments.
Expectation
Message is processed and echo'ed back to us.
Description
Send text Message fragmented into 2 fragments, octets are sent in frame-wise chops.
Expectation
Message is processed and echo'ed back to us.
Description
Send text Message fragmented into 2 fragments, octets are sent in octet-wise chops.
Expectation
Message is processed and echo'ed back to us.
Description
Send text Message fragmented into 2 fragments, one ping with payload in-between.
Expectation
A pong is received, then the message is echo'ed back to us.
Description
Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in frame-wise chops.
Expectation
A pong is received, then the message is echo'ed back to us.
Description
Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in octet-wise chops.
Expectation
A pong is received, then the message is echo'ed back to us.
Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in one chop.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in per-frame chops.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in octet-wise chops.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in one chop.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in per-frame chops.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in octet-wise chops.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send text Message fragmented into 2 fragments, then Continuation Frame with FIN = false where there is nothing to continue, then unfragmented Text Message, all sent in one chop.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Repeated 2x: Continuation Frame with FIN = false (where there is nothing to continue), then text Message fragmented into 2 fragments.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Repeated 2x: Continuation Frame with FIN = true (where there is nothing to continue), then text Message fragmented into 2 fragments.
Expectation
The connection is failed immediately, since there is no message to continue.
Description
Send text Message fragmented into 2 fragments, with both frame opcodes set to text, sent in one chop.
Expectation
The connection is failed immediately, since all data frames after the initial data frame must have opcode 0.
Description
A fragmented text message is sent in multiple frames. After
sending the first 2 frames of the text message, a Ping is sent. Then we wait 1s,
then we send 2 more text fragments, another Ping and then the final text fragment.
Everything is legal.
Expectation
The peer immediately answers the first Ping before
it has received the last text message fragment. The peer pong's back the Ping's
payload exactly, and echo's the payload of the fragmented message back to us.
Description
Same as Case 5.19, but send all frames with SYNC = True.
Note, this does not change the octets sent in any way, only how the stream
is chopped up on the wire.
Expectation
Same as Case 5.19. Implementations must be agnostic to how
octet stream is chopped up on wire (must be TCP clean).
Description
Send text message of length 0.
Expectation
A message is echo'ed back to us (with empty payload).
Description
Send fragmented text message, 3 fragments each of length 0.
Expectation
A message is echo'ed back to us (with empty payload).
Description
Send fragmented text message, 3 fragments, first and last of length 0, middle non-empty.
Expectation
A message is echo'ed back to us (with payload = payload of middle fragment).
Description
Send a valid UTF-8 text message in one fragment.
MESSAGE:
Hello-µ@ßöäüàá-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121
Expectation
The message is echo'ed back to us.
Description
Send a valid UTF-8 text message in two fragments, fragmented on UTF-8 code point boundary.
MESSAGE FRAGMENT 1:
Hello-µ@ßöä
48656c6c6f2dc2b540c39fc3b6c3a4
MESSAGE FRAGMENT 2:
üàá-UTF-8!!
c3bcc3a0c3a12d5554462d382121
Expectation
The message is echo'ed back to us.
Description
Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
Hello-µ@ßöäüàá-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121
Expectation
The message is echo'ed back to us.
Description
Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Expectation
The message is echo'ed back to us.
Description
Send invalid UTF-8 text message unfragmented.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in 3 fragments (frames). First frame payload is valid, then wait, then 2nd frame which contains the payload octet making the sequence invalid, then wait, then 3rd frame with rest.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in 3 fragments plus more. First is valid, then wait, then 2nd which contains the octet making the sequence invalid, then wait, then 3rd with rest. Then we send 16 frames each 64k.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in 3 fragments plus more. First is valid, then wait, then 2nd which contains the octet making the sequence invalid, then wait, then 3rd with rest. Then we send 64k frames forever.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in one frame, but 3 chops. First chop is valid, then wait, then send 2nd chop with payload octet making the sequence invalid, then wait, then send test rest of payload in last chop.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8) upon receiving the offending octet. If we timeout, we expect the connection is failed at least then, since the payload is not valid UTF-8.
Description
Send invalid UTF-8 text message in 2 fragments plus more. First is valid, then wait, then in 2nd frame, send the octet making the sequence invalid, then wait, then send test rest of 2nd frame. Then we send 64k frames forever.
MESSAGE:
κόσμεedited
cebae1bdb9cf83cebcceb5eda080656469746564
Expectation
The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8) upon receiving the offending octet. If we timeout, we expect the connection is failed at least then, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
ce
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κ
ceba
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κ
cebae1
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κ
cebae1bd
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κό
cebae1bdb9
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κό
cebae1bdb9cf
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσ
cebae1bdb9cf83
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κόσ
cebae1bdb9cf83ce
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμ
cebae1bdb9cf83cebc
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is not valid UTF-8 in one fragment.
MESSAGE:
κόσμ
cebae1bdb9cf83cebcce
Expectation
The connection is failed immediately, since the payload is not valid UTF-8.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5
Expectation
The message is echo'ed back to us.
Description
Send a text message with payload which is valid UTF-8 in one fragment.
MESSAGE: