WebSockets are tested using the Autobahn Test Suite and run inside a docker compose app.
You can see the latest results from main here.
docker-compose.yml
: Compose app consisting of Yimmo WS echo server and Autobahn test suite.autobahn-entrypoint.sh
: Entrypoint for the autobahn image in the compose setup.config
: Autobahn configuration jsonautobahn-json-summary.sh
: Given a path to anindex.json
file, print the results and generate a summary.autobahn-local.sh
: Used to run autobahn test suite against a WS server running on localhost.
- ✅
1
: Framing - ✅
2
: Pings/Pongs - ✅
3.*
: Reserved Bits - ✅
4.*
: Opcodes - ✅
5.*
: Fragmentation - ✅
6.*
: UTF-8 Handling - ✅
7.*
: Close Handling - ✅
9.*
: Limits/Performance - ✅
10.*
: Misc - ⬜
12.*
: WebSocket Compression/Payloads (not yet implemented) - ⬜
13.*
: WebSocket Compression/Parameters (not yet implemented)
2.10,11
: Not required by spec.12,13
: Libyimmo does not yet implement websockets compression.
Build a test image by invoking build-yimmo-test-image.sh
.
Run the test using docker compose:
# In this directory:
docker compose up --abort-on-container-exit
- In your build directory:
make && ./ci/ws/yimmo-ws-echo
- In this directory:
./autobahn-local.sh