From eb22576bb26255f6d0ae64e53636cddad8e12921 Mon Sep 17 00:00:00 2001 From: Tobias Oberstein Date: Thu, 23 Mar 2017 18:46:49 +0100 Subject: [PATCH] polish --- README.rst | 4 +-- wstest/Makefile | 2 +- wstest/README.md | 77 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 78 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index a7add60f..3594bd21 100644 --- a/README.rst +++ b/README.rst @@ -32,14 +32,14 @@ Features -------- - framework for `WebSocket `__ and `WAMP `__ clients and servers -- compatible with Python 2.6, 2.7, 3.3 and 3.4 +- compatible with Python 2.7 and 3.3 or later - runs on `CPython `__, `PyPy `__ and `Jython `__ - runs under `Twisted `__ and `asyncio `__ - implements WebSocket `RFC6455 `__ and Draft Hybi-10+ - implements `WebSocket compression `__ - implements `WAMP `__, the Web Application Messaging Protocol - high-performance, fully asynchronous implementation -- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite `__) +- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite `__: `Client __` `Server `__) - message-, frame- and streaming-APIs for WebSocket - supports TLS (secure WebSocket) and proxies - Open-source (`MIT license `__) diff --git a/wstest/Makefile b/wstest/Makefile index 4272b4e1..af134673 100644 --- a/wstest/Makefile +++ b/wstest/Makefile @@ -215,7 +215,7 @@ start_server: \ start_aio_server -stop_testee_server: +stop_server: -pkill -f "testee_server*" diff --git a/wstest/README.md b/wstest/README.md index 8b69cb92..9569586b 100644 --- a/wstest/README.md +++ b/wstest/README.md @@ -1,14 +1,50 @@ +# WebSocket compliance testing + +We are testing on these Pythons + +* CPython 2.7 +* CPython 3.6 +* PyPy 2.7 +* PyPy3 (3.5 lang. level) + +using these networking frameworks + +* Twisted +* asyncio (or Trollius fallback) + +for + +* WebSocket client +* WebSocket server + +This gives a total of 16 combinations being tested. + +The generated reports are hosted here: + +* [Client](http://autobahn.ws/testsuite/reports/clients/index.html) +* [Server](http://autobahn.ws/testsuite/reports/servers/index.html) + +> Note (23.3.2016): the server reports show some fails for some WebSocket compression tests - these are timeouts of the tests, because my machine was too slow / the timeout is too tight. However, it takes too now for me to repeat. +## Testing + +### Prepare + +Download Pythons ```console make downloads ``` +Build Pythons and wstest (the command line tool of the Autobahn WebSocket testsuite) + ```console make build ``` +Check versions: + ```console oberstet@office-corei7:~/scm/crossbario/autobahn-python/wstest$ make versions ./cpy2/bin/python -V @@ -23,14 +59,51 @@ Python 3.5.3 (b16a4363e930, Mar 20 2017, 16:13:46) [PyPy 5.7.0-beta0 with GCC 6.2.0 20160901] ``` +Setup dependencies + ```console make setup ``` +### Client Testing +In a first console, start the fuzzing server: +```console make wstest_server +``` -make test_tx_client +In a second console, run the testee clients: -make test_aio_client +```console +make test_client +``` + +Reports will be generated under the folder `./reports/clients`, with the summary report `./reports/clients/index.html`. + + +### Server Testing + + +In a console, start all the testee servers: + +```console +make start_server +``` + +> Note: this will start 8 servers in the background. To stop: `make stop_server` + + +Now run the fuzzing client, which will test all servers: + +```console +make test_server +``` + +### Upload reports + +To upload reports: + +```console +make upload_reports +```