This commit is contained in:
Tobias Oberstein 2017-03-23 18:46:49 +01:00
parent eb27bb903e
commit eb22576bb2
3 changed files with 78 additions and 5 deletions

View File

@ -32,14 +32,14 @@ Features
--------
- 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 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+
- implements `WebSocket compression <http://tools.ietf.org/html/draft-ietf-hybi-permessage-compression>`__
- implements `WAMP <http://wamp-proto.org/>`__, the Web Application Messaging Protocol
- 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
- supports TLS (secure WebSocket) and proxies
- Open-source (`MIT license <https://github.com/crossbario/autobahn-python/blob/master/LICENSE>`__)

View File

@ -215,7 +215,7 @@ start_server: \
start_aio_server
stop_testee_server:
stop_server:
-pkill -f "testee_server*"

View File

@ -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
```