Summary report generated on 2021-02-12T10:13:09.706Z (UTC) by Autobahn WebSocket Testsuite v0.8.0/v0.10.9.
| Pass | Test case was executed and passed successfully. |
| Non-Strict | Test case was executed and passed non-strictly. A non-strict behavior is one that does not adhere to a SHOULD-behavior as described in the protocol specification or a well-defined, canonical behavior that appears to be desirable but left open in the protocol specification. An implementation with non-strict behavior is still conformant to the protocol specification. |
| Fail | Test case was executed and failed. An implementation which fails a test case - other than a performance/limits related one - is non-conforming to a MUST-behavior as described in the protocol specification. |
| Info | Informational test case which detects certain implementation behavior left unspecified by the spec but nevertheless potentially interesting to implementors. |
| Missing | Test case is missing, either because it was skipped via the test suite configuration or deactivated, i.e. because the implementation does not implement the tested feature or breaks during running the test case. |
| 1 Framing | None | Python/3.7 websockets/8.1 | ||
| 1.1 Text Messages | ||||
| Case 1.1.1 | Missing | Pass | 1000 | |
| Case 1.1.2 | Missing | Pass | 1000 | |
| Case 1.1.3 | Missing | Pass | 1000 | |
| Case 1.1.4 | Missing | Pass | 1000 | |
| Case 1.1.5 | Missing | Pass | 1000 | |
| Case 1.1.6 | Missing | Pass | 1000 | |
| Case 1.1.7 | Missing | Pass | 1000 | |
| Case 1.1.8 | Missing | Pass | 1000 | |
| 1 Framing | None | Python/3.7 websockets/8.1 | ||
| 1.2 Binary Messages | ||||
| Case 1.2.1 | Missing | Pass | 1000 | |
| Case 1.2.2 | Missing | Pass | 1000 | |
| Case 1.2.3 | Missing | Pass | 1000 | |
| Case 1.2.4 | Missing | Pass | 1000 | |
| Case 1.2.5 | Missing | Pass | 1000 | |
| Case 1.2.6 | Missing | Pass | 1000 | |
| Case 1.2.7 | Missing | Pass | 1000 | |
| Case 1.2.8 | Missing | Pass | 1000 | |
| 2 Pings/Pongs | None | Python/3.7 websockets/8.1 | ||
| Case 2.1 | Missing | Pass | 1000 | |
| Case 2.2 | Missing | Pass | 1000 | |
| Case 2.3 | Missing | Pass | 1000 | |
| Case 2.4 | Missing | Pass | 1000 | |
| Case 2.5 | Missing | Pass | 1002 | |
| Case 2.6 | Missing | Pass | 1000 | |
| Case 2.7 | Missing | Pass | 1000 | |
| Case 2.8 | Missing | Pass | 1000 | |
| Case 2.9 | Missing | Pass | 1000 | |
| Case 2.10 | Missing | Pass | 1000 | |
| Case 2.11 | Missing | Pass | 1000 | |
| 3 Reserved Bits | None | Python/3.7 websockets/8.1 | ||
| Case 3.1 | Missing | Pass | 1002 | |
| Case 3.2 | Missing | Non-Strict | 1002 | |
| Case 3.3 | Missing | Non-Strict | 1002 | |
| Case 3.4 | Missing | Pass | 1002 | |
| Case 3.5 | Missing | Pass | 1002 | |
| Case 3.6 | Missing | Pass | 1002 | |
| Case 3.7 | Missing | Pass | 1002 | |
| 4 Opcodes | None | Python/3.7 websockets/8.1 | ||
| 4.1 Non-control Opcodes | ||||
| Case 4.1.1 | Missing | Pass | 1002 | |
| Case 4.1.2 | Missing | Pass | 1002 | |
| Case 4.1.3 | Missing | Non-Strict | 1002 | |
| Case 4.1.4 | Missing | Non-Strict | 1002 | |
| Case 4.1.5 | Missing | Pass | 1002 | |
| 4 Opcodes | None | Python/3.7 websockets/8.1 | ||
| 4.2 Control Opcodes | ||||
| Case 4.2.1 | Missing | Pass | 1002 | |
| Case 4.2.2 | Missing | Pass | 1002 | |
| Case 4.2.3 | Missing | Non-Strict | 1002 | |
| Case 4.2.4 | Missing | Non-Strict | 1002 | |
| Case 4.2.5 | Missing | Pass | 1002 | |
| 5 Fragmentation | None | Python/3.7 websockets/8.1 | ||
| Case 5.1 | Missing | Pass | 1002 | |
| Case 5.2 | Missing | Pass | 1002 | |
| Case 5.3 | Missing | Pass | 1000 | |
| Case 5.4 | Missing | Pass | 1000 | |
| Case 5.5 | Missing | Pass | 1000 | |
| Case 5.6 | Missing | Pass | 1000 | |
| Case 5.7 | Missing | Pass | 1000 | |
| Case 5.8 | Missing | Pass | 1000 | |
| Case 5.9 | Missing | Pass | 1002 | |
| Case 5.10 | Missing | Pass | 1002 | |
| Case 5.11 | Missing | Pass | 1002 | |
| Case 5.12 | Missing | Pass | 1002 | |
| Case 5.13 | Missing | Pass | 1002 | |
| Case 5.14 | Missing | Pass | 1002 | |
| Case 5.15 | Missing | Non-Strict | 1002 | |
| Case 5.16 | Missing | Pass | 1002 | |
| Case 5.17 | Missing | Pass | 1002 | |
| Case 5.18 | Missing | Pass | 1002 | |
| Case 5.19 | Missing | Pass | 1000 | |
| Case 5.20 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.1 Valid UTF-8 with zero payload fragments | ||||
| Case 6.1.1 | Missing | Pass | 1000 | |
| Case 6.1.2 | Missing | Pass | 1000 | |
| Case 6.1.3 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.2 Valid UTF-8 unfragmented, fragmented on code-points and within code-points | ||||
| Case 6.2.1 | Missing | Pass | 1000 | |
| Case 6.2.2 | Missing | Pass | 1000 | |
| Case 6.2.3 | Missing | Pass | 1000 | |
| Case 6.2.4 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.3 Invalid UTF-8 differently fragmented | ||||
| Case 6.3.1 | Missing | Pass | 1007 | |
| Case 6.3.2 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.4 Fail-fast on invalid UTF-8 | ||||
| Case 6.4.1 | Missing | Pass | 1007 | |
| Case 6.4.2 | Missing | Pass | 1007 | |
| Case 6.4.3 | Missing | Non-Strict | 1007 | |
| Case 6.4.4 | Missing | Non-Strict | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.5 Some valid UTF-8 sequences | ||||
| Case 6.5.1 | Missing | Pass | 1000 | |
| Case 6.5.2 | Missing | Pass | 1000 | |
| Case 6.5.3 | Missing | Pass | 1000 | |
| Case 6.5.4 | Missing | Pass | 1000 | |
| Case 6.5.5 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.6 All prefixes of a valid UTF-8 string that contains multi-byte code points | ||||
| Case 6.6.1 | Missing | Pass | 1007 | |
| Case 6.6.2 | Missing | Pass | 1000 | |
| Case 6.6.3 | Missing | Pass | 1007 | |
| Case 6.6.4 | Missing | Pass | 1007 | |
| Case 6.6.5 | Missing | Pass | 1000 | |
| Case 6.6.6 | Missing | Pass | 1007 | |
| Case 6.6.7 | Missing | Pass | 1000 | |
| Case 6.6.8 | Missing | Pass | 1007 | |
| Case 6.6.9 | Missing | Pass | 1000 | |
| Case 6.6.10 | Missing | Pass | 1007 | |
| Case 6.6.11 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.7 First possible sequence of a certain length | ||||
| Case 6.7.1 | Missing | Pass | 1000 | |
| Case 6.7.2 | Missing | Pass | 1000 | |
| Case 6.7.3 | Missing | Pass | 1000 | |
| Case 6.7.4 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.8 First possible sequence length 5/6 (invalid codepoints) | ||||
| Case 6.8.1 | Missing | Pass | 1007 | |
| Case 6.8.2 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.9 Last possible sequence of a certain length | ||||
| Case 6.9.1 | Missing | Pass | 1000 | |
| Case 6.9.2 | Missing | Pass | 1000 | |
| Case 6.9.3 | Missing | Pass | 1000 | |
| Case 6.9.4 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.10 Last possible sequence length 4/5/6 (invalid codepoints) | ||||
| Case 6.10.1 | Missing | Pass | 1007 | |
| Case 6.10.2 | Missing | Pass | 1007 | |
| Case 6.10.3 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.11 Other boundary conditions | ||||
| Case 6.11.1 | Missing | Pass | 1000 | |
| Case 6.11.2 | Missing | Pass | 1000 | |
| Case 6.11.3 | Missing | Pass | 1000 | |
| Case 6.11.4 | Missing | Pass | 1000 | |
| Case 6.11.5 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.12 Unexpected continuation bytes | ||||
| Case 6.12.1 | Missing | Pass | 1007 | |
| Case 6.12.2 | Missing | Pass | 1007 | |
| Case 6.12.3 | Missing | Pass | 1007 | |
| Case 6.12.4 | Missing | Pass | 1007 | |
| Case 6.12.5 | Missing | Pass | 1007 | |
| Case 6.12.6 | Missing | Pass | 1007 | |
| Case 6.12.7 | Missing | Pass | 1007 | |
| Case 6.12.8 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.13 Lonely start characters | ||||
| Case 6.13.1 | Missing | Pass | 1007 | |
| Case 6.13.2 | Missing | Pass | 1007 | |
| Case 6.13.3 | Missing | Pass | 1007 | |
| Case 6.13.4 | Missing | Pass | 1007 | |
| Case 6.13.5 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.14 Sequences with last continuation byte missing | ||||
| Case 6.14.1 | Missing | Pass | 1007 | |
| Case 6.14.2 | Missing | Pass | 1007 | |
| Case 6.14.3 | Missing | Pass | 1007 | |
| Case 6.14.4 | Missing | Pass | 1007 | |
| Case 6.14.5 | Missing | Pass | 1007 | |
| Case 6.14.6 | Missing | Pass | 1007 | |
| Case 6.14.7 | Missing | Pass | 1007 | |
| Case 6.14.8 | Missing | Pass | 1007 | |
| Case 6.14.9 | Missing | Pass | 1007 | |
| Case 6.14.10 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.15 Concatenation of incomplete sequences | ||||
| Case 6.15.1 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.16 Impossible bytes | ||||
| Case 6.16.1 | Missing | Pass | 1007 | |
| Case 6.16.2 | Missing | Pass | 1007 | |
| Case 6.16.3 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.17 Examples of an overlong ASCII character | ||||
| Case 6.17.1 | Missing | Pass | 1007 | |
| Case 6.17.2 | Missing | Pass | 1007 | |
| Case 6.17.3 | Missing | Pass | 1007 | |
| Case 6.17.4 | Missing | Pass | 1007 | |
| Case 6.17.5 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.18 Maximum overlong sequences | ||||
| Case 6.18.1 | Missing | Pass | 1007 | |
| Case 6.18.2 | Missing | Pass | 1007 | |
| Case 6.18.3 | Missing | Pass | 1007 | |
| Case 6.18.4 | Missing | Pass | 1007 | |
| Case 6.18.5 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.19 Overlong representation of the NUL character | ||||
| Case 6.19.1 | Missing | Pass | 1007 | |
| Case 6.19.2 | Missing | Pass | 1007 | |
| Case 6.19.3 | Missing | Pass | 1007 | |
| Case 6.19.4 | Missing | Pass | 1007 | |
| Case 6.19.5 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.20 Single UTF-16 surrogates | ||||
| Case 6.20.1 | Missing | Pass | 1007 | |
| Case 6.20.2 | Missing | Pass | 1007 | |
| Case 6.20.3 | Missing | Pass | 1007 | |
| Case 6.20.4 | Missing | Pass | 1007 | |
| Case 6.20.5 | Missing | Pass | 1007 | |
| Case 6.20.6 | Missing | Pass | 1007 | |
| Case 6.20.7 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.21 Paired UTF-16 surrogates | ||||
| Case 6.21.1 | Missing | Pass | 1007 | |
| Case 6.21.2 | Missing | Pass | 1007 | |
| Case 6.21.3 | Missing | Pass | 1007 | |
| Case 6.21.4 | Missing | Pass | 1007 | |
| Case 6.21.5 | Missing | Pass | 1007 | |
| Case 6.21.6 | Missing | Pass | 1007 | |
| Case 6.21.7 | Missing | Pass | 1007 | |
| Case 6.21.8 | Missing | Pass | 1007 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.22 Non-character code points (valid UTF-8) | ||||
| Case 6.22.1 | Missing | Pass | 1000 | |
| Case 6.22.2 | Missing | Pass | 1000 | |
| Case 6.22.3 | Missing | Pass | 1000 | |
| Case 6.22.4 | Missing | Pass | 1000 | |
| Case 6.22.5 | Missing | Pass | 1000 | |
| Case 6.22.6 | Missing | Pass | 1000 | |
| Case 6.22.7 | Missing | Pass | 1000 | |
| Case 6.22.8 | Missing | Pass | 1000 | |
| Case 6.22.9 | Missing | Pass | 1000 | |
| Case 6.22.10 | Missing | Pass | 1000 | |
| Case 6.22.11 | Missing | Pass | 1000 | |
| Case 6.22.12 | Missing | Pass | 1000 | |
| Case 6.22.13 | Missing | Pass | 1000 | |
| Case 6.22.14 | Missing | Pass | 1000 | |
| Case 6.22.15 | Missing | Pass | 1000 | |
| Case 6.22.16 | Missing | Pass | 1000 | |
| Case 6.22.17 | Missing | Pass | 1000 | |
| Case 6.22.18 | Missing | Pass | 1000 | |
| Case 6.22.19 | Missing | Pass | 1000 | |
| Case 6.22.20 | Missing | Pass | 1000 | |
| Case 6.22.21 | Missing | Pass | 1000 | |
| Case 6.22.22 | Missing | Pass | 1000 | |
| Case 6.22.23 | Missing | Pass | 1000 | |
| Case 6.22.24 | Missing | Pass | 1000 | |
| Case 6.22.25 | Missing | Pass | 1000 | |
| Case 6.22.26 | Missing | Pass | 1000 | |
| Case 6.22.27 | Missing | Pass | 1000 | |
| Case 6.22.28 | Missing | Pass | 1000 | |
| Case 6.22.29 | Missing | Pass | 1000 | |
| Case 6.22.30 | Missing | Pass | 1000 | |
| Case 6.22.31 | Missing | Pass | 1000 | |
| Case 6.22.32 | Missing | Pass | 1000 | |
| Case 6.22.33 | Missing | Pass | 1000 | |
| Case 6.22.34 | Missing | Pass | 1000 | |
| 6 UTF-8 Handling | None | Python/3.7 websockets/8.1 | ||
| 6.23 Unicode specials (i.e. replacement char) | ||||
| Case 6.23.1 | Missing | Pass | 1000 | |
| Case 6.23.2 | Missing | Pass | 1000 | |
| Case 6.23.3 | Missing | Pass | 1000 | |
| Case 6.23.4 | Missing | Pass | 1000 | |
| Case 6.23.5 | Missing | Pass | 1000 | |
| Case 6.23.6 | Missing | Pass | 1000 | |
| Case 6.23.7 | Missing | Pass | 1000 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.1 Basic close behavior (fuzzer initiated) | ||||
| Case 7.1.1 | Missing | Pass | 1000 | |
| Case 7.1.2 | Missing | Pass | 1000 | |
| Case 7.1.3 | Missing | Pass | 1000 | |
| Case 7.1.4 | Missing | Pass | 1000 | |
| Case 7.1.5 | Missing | Pass | 1000 | |
| Case 7.1.6 | Missing | Info | 1000 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.3 Close frame structure: payload length (fuzzer initiated) | ||||
| Case 7.3.1 | Missing | Pass | None | |
| Case 7.3.2 | Missing | Pass | 1002 | |
| Case 7.3.3 | Missing | Pass | 1000 | |
| Case 7.3.4 | Missing | Pass | 1000 | |
| Case 7.3.5 | Missing | Pass | 1000 | |
| Case 7.3.6 | Missing | Pass | 1002 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.5 Close frame structure: payload value (fuzzer initiated) | ||||
| Case 7.5.1 | Missing | Pass | 1007 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.7 Close frame structure: valid close codes (fuzzer initiated) | ||||
| Case 7.7.1 | Missing | Pass | 1000 | |
| Case 7.7.2 | Missing | Pass | 1001 | |
| Case 7.7.3 | Missing | Pass | 1002 | |
| Case 7.7.4 | Missing | Pass | 1003 | |
| Case 7.7.5 | Missing | Pass | 1007 | |
| Case 7.7.6 | Missing | Pass | 1008 | |
| Case 7.7.7 | Missing | Pass | 1009 | |
| Case 7.7.8 | Missing | Pass | 1010 | |
| Case 7.7.9 | Missing | Pass | 1011 | |
| Case 7.7.10 | Missing | Pass | 3000 | |
| Case 7.7.11 | Missing | Pass | 3999 | |
| Case 7.7.12 | Missing | Pass | 4000 | |
| Case 7.7.13 | Missing | Pass | 4999 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.9 Close frame structure: invalid close codes (fuzzer initiated) | ||||
| Case 7.9.1 | Missing | Pass | 1002 | |
| Case 7.9.2 | Missing | Pass | 1002 | |
| Case 7.9.3 | Missing | Pass | 1002 | |
| Case 7.9.4 | Missing | Pass | 1002 | |
| Case 7.9.5 | Missing | Pass | 1002 | |
| Case 7.9.6 | Missing | Pass | 1002 | |
| Case 7.9.7 | Missing | Pass | 1002 | |
| Case 7.9.8 | Missing | Pass | 1002 | |
| Case 7.9.9 | Missing | Pass | 1002 | |
| Case 7.9.10 | Missing | Pass | 1002 | |
| Case 7.9.11 | Missing | Pass | 1002 | |
| 7 Close Handling | None | Python/3.7 websockets/8.1 | ||
| 7.13 Informational close information (fuzzer initiated) | ||||
| Case 7.13.1 | Missing | Info | 1002 | |
| Case 7.13.2 | Missing | Info | 1002 | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.1 Text Message (increasing size) | ||||
| Case 9.1.1 | Missing | Pass 4 ms | 1000 | |
| Case 9.1.2 | Missing | Pass 7 ms | 1000 | |
| Case 9.1.3 | Missing | Pass 25 ms | 1000 | |
| Case 9.1.4 | Missing | Fail 64 ms | Fail | |
| Case 9.1.5 | Missing | Fail 78 ms | Fail | |
| Case 9.1.6 | Missing | Fail 197 ms | Fail | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.2 Binary Message (increasing size) | ||||
| Case 9.2.1 | Missing | Pass 3 ms | 1000 | |
| Case 9.2.2 | Missing | Pass 5 ms | 1000 | |
| Case 9.2.3 | Missing | Pass 20 ms | 1000 | |
| Case 9.2.4 | Missing | Fail 75 ms | Fail | |
| Case 9.2.5 | Missing | Fail 98 ms | Fail | |
| Case 9.2.6 | Missing | Fail 242 ms | Fail | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.3 Fragmented Text Message (fixed size, increasing fragment size) | ||||
| Case 9.3.1 | Missing | Fail 508 ms | Fail | |
| Case 9.3.2 | Missing | Fail 259 ms | Fail | |
| Case 9.3.3 | Missing | Fail 115 ms | Fail | |
| Case 9.3.4 | Missing | Fail 63 ms | Fail | |
| Case 9.3.5 | Missing | Fail 51 ms | Fail | |
| Case 9.3.6 | Missing | Fail 44 ms | Fail | |
| Case 9.3.7 | Missing | Fail 55 ms | Fail | |
| Case 9.3.8 | Missing | Fail 42 ms | Fail | |
| Case 9.3.9 | Missing | Fail 41 ms | Fail | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.4 Fragmented Binary Message (fixed size, increasing fragment size) | ||||
| Case 9.4.1 | Missing | Fail 446 ms | Fail | |
| Case 9.4.2 | Missing | Fail 264 ms | Fail | |
| Case 9.4.3 | Missing | Fail 107 ms | Fail | |
| Case 9.4.4 | Missing | Fail 61 ms | Fail | |
| Case 9.4.5 | Missing | Fail 46 ms | Fail | |
| Case 9.4.6 | Missing | Fail 47 ms | Fail | |
| Case 9.4.7 | Missing | Fail 48 ms | Fail | |
| Case 9.4.8 | Missing | Fail 104 ms | Fail | |
| Case 9.4.9 | Missing | Fail 36 ms | Fail | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.5 Text Message (fixed size, increasing chop size) | ||||
| Case 9.5.1 | Missing | Pass 815 ms | 1000 | |
| Case 9.5.2 | Missing | Pass 336 ms | 1000 | |
| Case 9.5.3 | Missing | Pass 175 ms | 1000 | |
| Case 9.5.4 | Missing | Pass 213 ms | 1000 | |
| Case 9.5.5 | Missing | Pass 136 ms | 1000 | |
| Case 9.5.6 | Missing | Pass 186 ms | 1000 | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.6 Binary Text Message (fixed size, increasing chop size) | ||||
| Case 9.6.1 | Missing | Pass 640 ms | 1000 | |
| Case 9.6.2 | Missing | Pass 632 ms | 1000 | |
| Case 9.6.3 | Missing | Pass 157 ms | 1000 | |
| Case 9.6.4 | Missing | Pass 85 ms | 1000 | |
| Case 9.6.5 | Missing | Pass 49 ms | 1000 | |
| Case 9.6.6 | Missing | Pass 38 ms | 1000 | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.7 Text Message Roundtrip Time (fixed number, increasing size) | ||||
| Case 9.7.1 | Missing | Pass 622 ms | 1000 | |
| Case 9.7.2 | Missing | Pass 391 ms | 1000 | |
| Case 9.7.3 | Missing | Pass 355 ms | 1000 | |
| Case 9.7.4 | Missing | Pass 355 ms | 1000 | |
| Case 9.7.5 | Missing | Pass 329 ms | 1000 | |
| Case 9.7.6 | Missing | Pass 422 ms | 1000 | |
| 9 Limits/Performance | None | Python/3.7 websockets/8.1 | ||
| 9.8 Binary Message Roundtrip Time (fixed number, increasing size) | ||||
| Case 9.8.1 | Missing | Pass 414 ms | 1000 | |
| Case 9.8.2 | Missing | Pass 404 ms | 1000 | |
| Case 9.8.3 | Missing | Pass 309 ms | 1000 | |
| Case 9.8.4 | Missing | Pass 355 ms | 1000 | |
| Case 9.8.5 | Missing | Pass 341 ms | 1000 | |
| Case 9.8.6 | Missing | Pass 419 ms | 1000 | |
| 10 Misc | None | Python/3.7 websockets/8.1 | ||
| 10.1 Auto-Fragmentation | ||||
| Case 10.1.1 | Missing | Pass | 1000 | |
| 12 WebSocket Compression (different payloads) | None | Python/3.7 websockets/8.1 | ||
| 12.1 Large JSON data file (utf8, 194056 bytes) | ||||
| Case 12.1.1 | Missing | Pass 1696 ms [0.292/0.985] | 1000 | |
| Case 12.1.2 | Missing | Pass 1692 ms [0.113/0.748] | 1000 | |
| Case 12.1.3 | Missing | Pass 1627 ms [0.067/0.521] | 1000 | |
| Case 12.1.4 | Missing | Pass 1446 ms [0.057/0.170] | 1000 | |
| Case 12.1.5 | Missing | Pass 1656 ms [0.048/0.075] | 1000 | |
| Case 12.1.6 | Missing | Pass 2134 ms [0.045/0.059] | 1000 | |
| Case 12.1.7 | Missing | Pass 2708 ms [0.044/0.051] | 1000 | |
| Case 12.1.8 | Missing | Pass 2836 ms [0.044/0.047] | 1000 | |
| Case 12.1.9 | Missing | Pass 6119 ms [0.044/0.045] | 1000 | |
| Case 12.1.10 | Missing | Pass 8307 ms [0.043/0.044] | 1000 | |
| Case 12.1.11 | Missing | Pass 1985 ms [0.045/0.059] | 1000 | |
| Case 12.1.12 | Missing | Pass 2156 ms [0.044/0.051] | 1000 | |
| Case 12.1.13 | Missing | Pass 3046 ms [0.044/0.047] | 1000 | |
| Case 12.1.14 | Missing | Pass 7394 ms [0.044/0.045] | 1000 | |
| Case 12.1.15 | Missing | Pass 7850 ms [0.043/0.044] | 1000 | |
| Case 12.1.16 | Missing | Pass 9873 ms [0.043/0.044] | 1000 | |
| Case 12.1.17 | Missing | Pass 7180 ms [0.043/0.044] | 1000 | |
| Case 12.1.18 | Missing | Pass 9362 ms [0.043/0.044] | 1000 | |
| 12 WebSocket Compression (different payloads) | None | Python/3.7 websockets/8.1 | ||
| 12.2 Lena Picture, Bitmap 512x512 bw (binary, 263222 bytes) | ||||
| Case 12.2.1 | Missing | Pass 527 ms [1.103/1.174] | 1000 | |
| Case 12.2.2 | Missing | Pass 435 ms [0.996/1.045] | 1000 | |
| Case 12.2.3 | Missing | Pass 586 ms [0.966/1.008] | 1000 | |
| Case 12.2.4 | Missing | Pass 673 ms [0.909/0.949] | 1000 | |
| Case 12.2.5 | Missing | Pass 992 ms [0.859/0.889] | 1000 | |
| Case 12.2.6 | Missing | Pass 1445 ms [0.851/0.873] | 1000 | |
| Case 12.2.7 | Missing | Pass 3101 ms [0.850/0.865] | 1000 | |
| Case 12.2.8 | Missing | Pass 7858 ms [0.851/0.860] | 1000 | |
| Case 12.2.9 | Missing | Pass 9852 ms [0.851/0.855] | 1000 | |
| Case 12.2.10 | Missing | Pass 20072 ms [0.850/0.853] | 1000 | |
| Case 12.2.11 | Missing | Pass 2433 ms [0.851/0.873] | 1000 | |
| Case 12.2.12 | Missing | Pass 5044 ms [0.850/0.865] | 1000 | |
| Case 12.2.13 | Missing | Pass 8105 ms [0.851/0.860] | 1000 | |
| Case 12.2.14 | Missing | Pass 17347 ms [0.851/0.855] | 1000 | |
| Case 12.2.15 | Missing | Pass 35951 ms [0.850/0.853] | 1000 | |
| Case 12.2.16 | Missing | Pass 24816 ms [0.850/0.853] | 1000 | |
| Case 12.2.17 | Missing | Pass 22317 ms [0.850/0.853] | 1000 | |
| Case 12.2.18 | Missing | Pass 20914 ms [0.850/0.853] | 1000 | |
| 12 WebSocket Compression (different payloads) | None | Python/3.7 websockets/8.1 | ||
| 12.3 Human readable text, Goethe's Faust I (German) (binary, 222218 bytes) | ||||
| Case 12.3.1 | Missing | Pass 481 ms [0.727/1.122] | 1000 | |
| Case 12.3.2 | Missing | Pass 675 ms [0.544/0.976] | 1000 | |
| Case 12.3.3 | Missing | Pass 546 ms [0.482/0.725] | 1000 | |
| Case 12.3.4 | Missing | Pass 738 ms [0.422/0.564] | 1000 | |
| Case 12.3.5 | Missing | Pass 1396 ms [0.396/0.481] | 1000 | |
| Case 12.3.6 | Missing | Pass 1976 ms [0.390/0.453] | 1000 | |
| Case 12.3.7 | Missing | Pass 3532 ms [0.387/0.432] | 1000 | |
| Case 12.3.8 | Missing | Pass 7384 ms [0.386/0.415] | 1000 | |
| Case 12.3.9 | Missing | Pass 17659 ms [0.385/0.401] | 1000 | |
| Case 12.3.10 | Missing | Pass 31929 ms [0.385/0.393] | 1000 | |
| Case 12.3.11 | Missing | Pass 2256 ms [0.390/0.453] | 1000 | |
| Case 12.3.12 | Missing | Pass 4589 ms [0.387/0.432] | 1000 | |
| Case 12.3.13 | Missing | Pass 8290 ms [0.386/0.415] | 1000 | |
| Case 12.3.14 | Missing | Pass 16368 ms [0.385/0.401] | 1000 | |
| Case 12.3.15 | Missing | Pass 34914 ms [0.385/0.393] | 1000 | |
| Case 12.3.16 | Missing | Pass 29129 ms [0.385/0.393] | 1000 | |
| Case 12.3.17 | Missing | Pass 29827 ms [0.385/0.393] | 1000 | |
| Case 12.3.18 | Missing | Pass 24094 ms [0.385/0.393] | 1000 | |
| 12 WebSocket Compression (different payloads) | None | Python/3.7 websockets/8.1 | ||
| 12.4 Large HTML file (utf8, 263527 bytes) | ||||
| Case 12.4.1 | Missing | Pass 1785 ms [0.413/1.048] | 1000 | |
| Case 12.4.2 | Missing | Pass 1743 ms [0.148/0.832] | 1000 | |
| Case 12.4.3 | Missing | Pass 1738 ms [0.078/0.623] | 1000 | |
| Case 12.4.4 | Missing | Pass 1833 ms [0.066/0.262] | 1000 | |
| Case 12.4.5 | Missing | Pass 1974 ms [0.059/0.112] | 1000 | |
| Case 12.4.6 | Missing | Pass 2297 ms [0.056/0.083] | 1000 | |
| Case 12.4.7 | Missing | Pass 3359 ms [0.055/0.069] | 1000 | |
| Case 12.4.8 | Missing | Pass 5096 ms [0.054/0.061] | 1000 | |
| Case 12.4.9 | Missing | Pass 5415 ms [0.055/0.058] | 1000 | |
| Case 12.4.10 | Missing | Pass 9896 ms [0.055/0.057] | 1000 | |
| Case 12.4.11 | Missing | Pass 2299 ms [0.056/0.083] | 1000 | |
| Case 12.4.12 | Missing | Pass 2725 ms [0.055/0.069] | 1000 | |
| Case 12.4.13 | Missing | Pass 4376 ms [0.054/0.061] | 1000 | |
| Case 12.4.14 | Missing | Pass 8159 ms [0.055/0.058] | 1000 | |
| Case 12.4.15 | Missing | Pass 10143 ms [0.055/0.057] | 1000 | |
| Case 12.4.16 | Missing | Pass 9601 ms [0.055/0.057] | 1000 | |
| Case 12.4.17 | Missing | Pass 9420 ms [0.055/0.057] | 1000 | |
| Case 12.4.18 | Missing | Pass 10213 ms [0.055/0.057] | 1000 | |
| 12 WebSocket Compression (different payloads) | None | Python/3.7 websockets/8.1 | ||
| 12.5 A larger PDF (binary, 1042328 bytes) | ||||
| Case 12.5.1 | Missing | Pass 426 ms [1.084/1.175] | 1000 | |
| Case 12.5.2 | Missing | Pass 479 ms [1.027/1.074] | 1000 | |
| Case 12.5.3 | Missing | Pass 569 ms [0.973/1.004] | 1000 | |
| Case 12.5.4 | Missing | Pass 679 ms [0.786/0.900] | 1000 | |
| Case 12.5.5 | Missing | Pass 1034 ms [0.777/0.855] | 1000 | |
| Case 12.5.6 | Missing | Pass 1408 ms [0.768/0.819] | 1000 | |
| Case 12.5.7 | Missing | Pass 2718 ms [0.763/0.793] | 1000 | |
| Case 12.5.8 | Missing | Pass 4627 ms [0.761/0.777] | 1000 | |
| Case 12.5.9 | Missing | Pass 7723 ms [0.759/0.768] | 1000 | |
| Case 12.5.10 | Missing | Pass 15501 ms [0.759/0.763] | 1000 | |
| Case 12.5.11 | Missing | Pass 2110 ms [0.768/0.819] | 1000 | |
| Case 12.5.12 | Missing | Pass 3865 ms [0.763/0.793] | 1000 | |
| Case 12.5.13 | Missing | Pass 6500 ms [0.761/0.777] | 1000 | |
| Case 12.5.14 | Missing | Pass 17566 ms [0.759/0.768] | 1000 | |
| Case 12.5.15 | Missing | Pass 31974 ms [0.759/0.763] | 1000 | |
| Case 12.5.16 | Missing | Pass 17948 ms [0.759/0.763] | 1000 | |
| Case 12.5.17 | Missing | Pass 19072 ms [0.759/0.763] | 1000 | |
| Case 12.5.18 | Missing | Pass 16633 ms [0.759/0.763] | 1000 | |
| 13 WebSocket Compression (different parameters) | None | Python/3.7 websockets/8.1 | ||
| 13.1 Large JSON data file (utf8, 194056 bytes) - client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)] / server accept (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)] | ||||
| Case 13.1.1 | Missing | Pass 1448 ms [0.292/0.985] | 1000 | |
| Case 13.1.2 | Missing | Pass 1365 ms [0.113/0.748] | 1000 | |
| Case 13.1.3 | Missing | Pass 1391 ms [0.067/0.521] | 1000 | |
| Case 13.1.4 | Missing | Pass 1897 ms [0.057/0.170] | 1000 | |
| Case 13.1.5 | Missing | Pass 3277 ms [0.048/0.075] | 1000 | |
| Case 13.1.6 | Missing | Pass 3120 ms [0.045/0.059] | 1000 | |
| Case 13.1.7 | Missing | Pass 2326 ms [0.044/0.051] | 1000 | |
| Case 13.1.8 | Missing | Pass 3566 ms [0.044/0.047] | 1000 | |
| Case 13.1.9 | Missing | Pass 5436 ms [0.044/0.045] | 1000 | |
| Case 13.1.10 | Missing | Pass 10111 ms [0.043/0.044] | 1000 | |
| Case 13.1.11 | Missing | Pass 1943 ms [0.045/0.059] | 1000 | |
| Case 13.1.12 | Missing | Pass 2494 ms [0.044/0.051] | 1000 | |
| Case 13.1.13 | Missing | Pass 4307 ms [0.044/0.047] | 1000 | |
| Case 13.1.14 | Missing | Pass 5442 ms [0.044/0.045] | 1000 | |
| Case 13.1.15 | Missing | Pass 9112 ms [0.043/0.044] | 1000 | |
| Case 13.1.16 | Missing | Pass 7973 ms [0.043/0.044] | 1000 | |
| Case 13.1.17 | Missing | Pass 7391 ms [0.043/0.044] | 1000 | |
| Case 13.1.18 | Missing | Pass 8443 ms [0.043/0.044] | 1000 | |
| 13 WebSocket Compression (different parameters) | None | Python/3.7 websockets/8.1 | ||
| 13.2 Large JSON data file (utf8, 194056 bytes) - client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)] / server accept (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)] | ||||
| Case 13.2.1 | Missing | Pass 1586 ms [0.985/0.985] | 1000 | |
| Case 13.2.2 | Missing | Pass 1438 ms [0.748/0.748] | 1000 | |
| Case 13.2.3 | Missing | Pass 1427 ms [0.521/0.521] | 1000 | |
| Case 13.2.4 | Missing | Pass 1517 ms [0.170/0.170] | 1000 | |
| Case 13.2.5 | Missing | Pass 1675 ms [0.075/0.075] | 1000 | |
| Case 13.2.6 | Missing | Pass 2469 ms [0.059/0.059] | 1000 | |
| Case 13.2.7 | Missing | Pass 3478 ms [0.051/0.051] | 1000 | |
| Case 13.2.8 | Missing | Pass 2917 ms [0.047/0.047] | 1000 | |
| Case 13.2.9 | Missing | Pass 4928 ms [0.045/0.045] | 1000 | |
| Case 13.2.10 | Missing | Pass 7827 ms [0.044/0.044] | 1000 | |
| Case 13.2.11 | Missing | Pass 1912 ms [0.059/0.059] | 1000 | |
| Case 13.2.12 | Missing | Pass 2177 ms [0.051/0.051] | 1000 | |
| Case 13.2.13 | Missing | Pass 3109 ms [0.047/0.047] | 1000 | |
| Case 13.2.14 | Missing | Pass 4642 ms [0.045/0.045] | 1000 | |
| Case 13.2.15 | Missing | Pass 8142 ms [0.044/0.044] | 1000 | |
| Case 13.2.16 | Missing | Pass 9673 ms [0.044/0.044] | 1000 | |
| Case 13.2.17 | Missing | Pass 9130 ms [0.044/0.044] | 1000 | |
| Case 13.2.18 | Missing | Pass 7647 ms [0.044/0.044] | 1000 | |
| 13 WebSocket Compression (different parameters) | None | Python/3.7 websockets/8.1 | ||
| 13.3 Large JSON data file (utf8, 194056 bytes) - client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 8)] / server accept (requestNoContextTakeover, requestMaxWindowBits): [(False, 8)] | ||||
| Case 13.3.1 | ||||