README.rst (1596B)
1 Autobahn Testsuite 2 ================== 3 4 General information and installation instructions are available at 5 https://github.com/crossbario/autobahn-testsuite. 6 7 To improve performance, you should compile the C extension first:: 8 9 $ python setup.py build_ext --inplace 10 11 Running the test suite 12 ---------------------- 13 14 All commands below must be run from the directory containing this file. 15 16 To test the server:: 17 18 $ PYTHONPATH=.. python test_server.py 19 $ wstest -m fuzzingclient 20 21 To test the client:: 22 23 $ wstest -m fuzzingserver 24 $ PYTHONPATH=.. python test_client.py 25 26 Run the first command in a shell. Run the second command in another shell. 27 It should take about ten minutes to complete — wstest is the bottleneck. 28 Then kill the first one with Ctrl-C. 29 30 The test client or server shouldn't display any exceptions. The results are 31 stored in reports/clients/index.html. 32 33 Note that the Autobahn software only supports Python 2, while ``websockets`` 34 only supports Python 3; you need two different environments. 35 36 Conformance notes 37 ----------------- 38 39 Some test cases are more strict than the RFC. Given the implementation of the 40 library and the test echo client or server, ``websockets`` gets a "Non-Strict" 41 in these cases. 42 43 In 3.2, 3.3, 4.1.3, 4.1.4, 4.2.3, 4.2.4, and 5.15 ``websockets`` notices the 44 protocol error and closes the connection before it has had a chance to echo 45 the previous frame. 46 47 In 6.4.3 and 6.4.4, even though it uses an incremental decoder, ``websockets`` 48 doesn't notice the invalid utf-8 fast enough to get a "Strict" pass. These 49 tests are more strict than the RFC.