Skip to content

Latest commit

 

History

History

ws

WebSockets CI

WebSockets are tested using the Autobahn Test Suite and run inside a docker compose app.

You can see the latest results from main here.

Files

  • 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 json
  • autobahn-json-summary.sh: Given a path to an index.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.

Test Suites

  • 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)

Exclusions

  • 2.10,11: Not required by spec.
  • 12,13: Libyimmo does not yet implement websockets compression.

Running Locally

Docker Compose

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

Local Test

  1. In your build directory: make && ./ci/ws/yimmo-ws-echo
  2. In this directory: ./autobahn-local.sh