WebSocket++ snapshot - Test Case 6.4.4

Non-Strict (2011-09-22T18:47:29Z - 2019 ms)

Case

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.

Result

Actual events match at least one expected.

Expected = {'NON-STRICT': [('timeout', 'A'), ('timeout', 'B')], 'OK': [('timeout', 'A')]}

Actual = [('timeout', 'A'), ('timeout', 'B')]

Close Result

FAILED: The connection was failed by the wrong endpoint

Statistics

Octets Received by Chop Size

Chop SizeCountOctets
21121
1291129
Total2150

Octets Transmitted by Chop Size

Chop SizeCountOctets
111
6212
717
818
12112
2121212
Total7252

Frames Received by Opcode

OpcodeCount
81
Total1

Frames Transmitted by Opcode

OpcodeCount
01
81
Total2

Close Stats

KeyValue
isServer0
closedByMe1
failedByMe0
droppedByMe0
wasClean1
localCloseCode1000
remoteCloseCode1007
remoteCloseReasonInvalid UTF8 Data

Wire Log

000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e576562536f636b65747354657374
               53756974652f302e342e320d0a486f73743a2074686f722d776562736f636b65742e7a6170686f79642e6e65740d0a557067
               726164653a20776562736f636b65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65
               742d4b65793a20307349574d4f4b67536d4b684b4f652f6147495858773d3d0d0a5365632d576562536f636b65742d566572
               73696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
               65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a20632b66
               734c726277746365415739315a6b6655443772595631724d3d0d0a0d0a
002 TX OCTETS: 0194585b97b8
003 TX OCTETS: 96e17605e1941476e4952255
004 DELAY 1.000000 sec
005 TX OCTETS: f8
006 DELAY 1.000000 sec
007 TX OCTETS: dbf2dc312ff2dc
008 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=e65af197, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
009 TX OCTETS: 8080e65af197
010 KILL AFTER 1.000000 sec
011 RX OCTETS: 881303ef496e76616c696420555446382044617461
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=False, MASK=None
               ïInvalid UTF8 Data
013 TX FRAME : OPCODE=8, FIN=True, RSV=0, MASK=616040c7, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
014 TX OCTETS: 8882616040c76288
015 TCP CLOSED BY PEER