polish
This commit is contained in:
parent
eb27bb903e
commit
eb22576bb2
@ -32,14 +32,14 @@ Features
|
|||||||
--------
|
--------
|
||||||
|
|
||||||
- framework for `WebSocket <http://tools.ietf.org/html/rfc6455>`__ and `WAMP <http://wamp-proto.org/>`__ clients and servers
|
- framework for `WebSocket <http://tools.ietf.org/html/rfc6455>`__ and `WAMP <http://wamp-proto.org/>`__ 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 <http://python.org/>`__, `PyPy <http://pypy.org/>`__ and `Jython <http://jython.org/>`__
|
- runs on `CPython <http://python.org/>`__, `PyPy <http://pypy.org/>`__ and `Jython <http://jython.org/>`__
|
||||||
- runs under `Twisted <http://twistedmatrix.com/>`__ and `asyncio <http://docs.python.org/3.4/library/asyncio.html>`__ - implements WebSocket
|
- runs under `Twisted <http://twistedmatrix.com/>`__ and `asyncio <http://docs.python.org/3.4/library/asyncio.html>`__ - implements WebSocket
|
||||||
`RFC6455 <http://tools.ietf.org/html/rfc6455>`__ and Draft Hybi-10+
|
`RFC6455 <http://tools.ietf.org/html/rfc6455>`__ and Draft Hybi-10+
|
||||||
- implements `WebSocket compression <http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression>`__
|
- implements `WebSocket compression <http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression>`__
|
||||||
- implements `WAMP <http://wamp-proto.org/>`__, the Web Application Messaging Protocol
|
- implements `WAMP <http://wamp-proto.org/>`__, the Web Application Messaging Protocol
|
||||||
- high-performance, fully asynchronous implementation
|
- high-performance, fully asynchronous implementation
|
||||||
- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite <http://crossbar.io/autobahn#testsuite>`__)
|
- best-in-class standards conformance (100% strict passes with `Autobahn Testsuite <http://crossbar.io/autobahn#testsuite>`__: `Client <http://autobahn.ws/testsuite/reports/clients/index.html>__` `Server <http://autobahn.ws/testsuite/reports/servers/index.html>`__)
|
||||||
- message-, frame- and streaming-APIs for WebSocket
|
- message-, frame- and streaming-APIs for WebSocket
|
||||||
- supports TLS (secure WebSocket) and proxies
|
- supports TLS (secure WebSocket) and proxies
|
||||||
- Open-source (`MIT license <https://github.com/crossbario/autobahn-python/blob/master/LICENSE>`__)
|
- Open-source (`MIT license <https://github.com/crossbario/autobahn-python/blob/master/LICENSE>`__)
|
||||||
|
@ -215,7 +215,7 @@ start_server: \
|
|||||||
start_aio_server
|
start_aio_server
|
||||||
|
|
||||||
|
|
||||||
stop_testee_server:
|
stop_server:
|
||||||
-pkill -f "testee_server*"
|
-pkill -f "testee_server*"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
```console
|
||||||
make downloads
|
make downloads
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Build Pythons and wstest (the command line tool of the Autobahn WebSocket testsuite)
|
||||||
|
|
||||||
```console
|
```console
|
||||||
make build
|
make build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Check versions:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
oberstet@office-corei7:~/scm/crossbario/autobahn-python/wstest$ make versions
|
oberstet@office-corei7:~/scm/crossbario/autobahn-python/wstest$ make versions
|
||||||
./cpy2/bin/python -V
|
./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]
|
[PyPy 5.7.0-beta0 with GCC 6.2.0 20160901]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Setup dependencies
|
||||||
|
|
||||||
```console
|
```console
|
||||||
make setup
|
make setup
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Client Testing
|
||||||
|
|
||||||
|
In a first console, start the fuzzing server:
|
||||||
|
|
||||||
|
```console
|
||||||
make wstest_server
|
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
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user