WebSockets Protocol Test Report
Autobahn WebSockets

AutobahnClient/0.4.10 - Case 2.6 : Pass - 8 ms @ 2012-01-09T14:53:45Z

Case Description

Send ping with binary payload of 125 octets, send in octet-wise chops.

Case Expectation

Pong with payload echo'ed is sent in reply to Ping. Implementations must be TCP clean. Clean close with normal code.

Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', '\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe')]}

Observed:
[('pong', '\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe')]

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=22&agent=AutobahnClient/0.4.10 HTTP/1.1
User-Agent: AutobahnWebSockets/0.4.10
Host: localhost:9001
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: 4P3X4uY5AbCRNz9Jc1YtFQ==
Sec-WebSocket-Version: 8
HTTP/1.1 101 Switching Protocols
Server: AutobahnWebSocketsTestSuite/0.4.10
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: t1+3Z5uuUcgvbwt+XSeJjsUUFXM=


Closing Behavior

KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSockets closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

Chop SizeCountOctets
818
1311131
2341234
Total3373

Octets Transmitted by Chop Size

Chop SizeCountOctets
1127127
414
1731173
Total129304

Frames Received by Opcode

OpcodeCount
81
101
Total2

Frames Transmitted by Opcode

OpcodeCount
81
91
Total2


Wire Log

000 RX OCTETS: 474554202f72756e436173653f636173653d3232266167656e743d4175746f6261686e436c69656e742f302e342e31302048
               5454502f312e310d0a557365722d4167656e743a204175746f6261686e576562536f636b6574732f302e342e31300d0a486f
               73743a206c6f63616c686f73743a393030310d0a557067726164653a20776562736f636b65740d0a436f6e6e656374696f6e
               3a20557067726164650d0a5365632d576562536f636b65742d4b65793a203450335834755935416243524e7a394a63315974
               46513d3d0d0a5365632d576562536f636b65742d56657273696f6e3a20380d0a0d0a
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               576562536f636b6574735465737453756974652f302e342e31300d0a557067726164653a20776562736f636b65740d0a436f
               6e6e656374696f6e3a20557067726164650d0a5365632d576562536f636b65742d4163636570743a2074312b335a35757555
               6367766277742b5853654a6a73555546584d3d0d0a0d0a
002 TX FRAME : OPCODE=9, FIN=True, RSV=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=1, SYNC=False
               þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ
               þþþþþþþþþþþþþþþþþþþþþþþþþ
003 TX OCTETS: 89
004 CLOSE CONNECTION AFTER 2.000000 sec
005 TX OCTETS: 7d
006 TX OCTETS: fe
007 TX OCTETS: fe
008 TX OCTETS: fe
009 TX OCTETS: fe
010 TX OCTETS: fe
011 TX OCTETS: fe
012 TX OCTETS: fe
013 TX OCTETS: fe
014 TX OCTETS: fe
015 TX OCTETS: fe
016 TX OCTETS: fe
017 TX OCTETS: fe
018 TX OCTETS: fe
019 TX OCTETS: fe
020 TX OCTETS: fe
021 TX OCTETS: fe
022 TX OCTETS: fe
023 TX OCTETS: fe
024 TX OCTETS: fe
025 TX OCTETS: fe
026 TX OCTETS: fe
027 TX OCTETS: fe
028 TX OCTETS: fe
029 TX OCTETS: fe
030 TX OCTETS: fe
031 TX OCTETS: fe
032 TX OCTETS: fe
033 TX OCTETS: fe
034 TX OCTETS: fe
035 TX OCTETS: fe
036 TX OCTETS: fe
037 TX OCTETS: fe
038 TX OCTETS: fe
039 TX OCTETS: fe
040 TX OCTETS: fe
041 TX OCTETS: fe
042 TX OCTETS: fe
043 TX OCTETS: fe
044 TX OCTETS: fe
045 TX OCTETS: fe
046 TX OCTETS: fe
047 TX OCTETS: fe
048 TX OCTETS: fe
049 TX OCTETS: fe
050 TX OCTETS: fe
051 TX OCTETS: fe
052 TX OCTETS: fe
053 TX OCTETS: fe
054 TX OCTETS: fe
055 TX OCTETS: fe
056 TX OCTETS: fe
057 TX OCTETS: fe
058 TX OCTETS: fe
059 TX OCTETS: fe
060 TX OCTETS: fe
061 TX OCTETS: fe
062 TX OCTETS: fe
063 TX OCTETS: fe
064 TX OCTETS: fe
065 TX OCTETS: fe
066 TX OCTETS: fe
067 TX OCTETS: fe
068 TX OCTETS: fe
069 TX OCTETS: fe
070 TX OCTETS: fe
071 TX OCTETS: fe
072 TX OCTETS: fe
073 TX OCTETS: fe
074 TX OCTETS: fe
075 TX OCTETS: fe
076 TX OCTETS: fe
077 TX OCTETS: fe
078 TX OCTETS: fe
079 TX OCTETS: fe
080 TX OCTETS: fe
081 TX OCTETS: fe
082 TX OCTETS: fe
083 TX OCTETS: fe
084 TX OCTETS: fe
085 TX OCTETS: fe
086 TX OCTETS: fe
087 TX OCTETS: fe
088 TX OCTETS: fe
089 TX OCTETS: fe
090 TX OCTETS: fe
091 TX OCTETS: fe
092 TX OCTETS: fe
093 TX OCTETS: fe
094 TX OCTETS: fe
095 TX OCTETS: fe
096 TX OCTETS: fe
097 TX OCTETS: fe
098 TX OCTETS: fe
099 TX OCTETS: fe
100 TX OCTETS: fe
101 TX OCTETS: fe
102 TX OCTETS: fe
103 TX OCTETS: fe
104 TX OCTETS: fe
105 TX OCTETS: fe
106 TX OCTETS: fe
107 TX OCTETS: fe
108 TX OCTETS: fe
109 TX OCTETS: fe
110 TX OCTETS: fe
111 TX OCTETS: fe
112 TX OCTETS: fe
113 TX OCTETS: fe
114 TX OCTETS: fe
115 TX OCTETS: fe
116 TX OCTETS: fe
117 TX OCTETS: fe
118 TX OCTETS: fe
119 TX OCTETS: fe
120 TX OCTETS: fe
121 TX OCTETS: fe
122 TX OCTETS: fe
123 TX OCTETS: fe
124 TX OCTETS: fe
125 TX OCTETS: fe
126 TX OCTETS: fe
127 TX OCTETS: fe
128 TX OCTETS: fe
129 TX OCTETS: fe
130 TX OCTETS: fe
131 RX OCTETS: 8afd794702c087b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e
               87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9
               fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87b9fc3e87
132 RX FRAME : OPCODE=10, FIN=True, RSV=0, MASKED=True, MASK=794702c0
               þþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ
               þþþþþþþþþþþþþþþþþþþþþþþþþ
133 TX FRAME : OPCODE=8, FIN=True, RSV=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
134 TX OCTETS: 880203e8
135 RX OCTETS: 88823a001bdb39e8
136 RX FRAME : OPCODE=8, FIN=True, RSV=0, MASKED=True, MASK=3a001bdb
137 TCP DROPPED BY ME