WebSocket++ snapshot - Test Case 6.4.4

Non-Strict (2011-09-22T21:49:26Z - 2018 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

OK: Connection was properly closed

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
closedByMe0
failedByMe0
droppedByMe0
wasClean1
localCloseCode1000
remoteCloseCode1007
remoteCloseReasonInvalid UTF8 Data

Wire Log

000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e576562536f636b65747354657374
               53756974652f302e342e320d0a486f73743a2074686f722d776562736f636b65742e7a6170686f79642e6e65740d0a557067
               726164653a20776562736f636b65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65
               742d4b65793a20644c6e555458346c43614e66336f34674758445433673d3d0d0a5365632d576562536f636b65742d566572
               73696f6e3a2031330d0a0d0a
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
               65740d0a436f6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a20637765
               393857574537697635723554647a456b726f61354259754d3d0d0a0d0a
002 TX OCTETS: 01942b319652
003 TX OCTETS: e58b77ef92fe159c97ff23bf
004 DELAY 1.000000 sec
005 TX OCTETS: 8b
006 DELAY 1.000000 sec
007 TX OCTETS: b1f3364245f336
008 TX FRAME : OPCODE=0, FIN=True, RSV=0, MASK=8b27cb82, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
009 TX OCTETS: 80808b27cb82
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=069ebac6, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
014 TX OCTETS: 8882069ebac60576
015 TCP CLOSED BY PEER