ninenines / cowboy

Small, fast, modern HTTP server for Erlang/OTP.

Home Page:https://ninenines.eu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rewrite ws_autobahn to no longer use autobahn-testsuite

essen opened this issue · comments

The main problem is that the test suite requires Python 2 which is no longer available. No workaround, including using the Docker image, is satisfying.

We could "rewrite" by taking the list of test cases and implementing them in Erlang. We don't need to convert the source code, just ensure all tests have an equivalent Erlang test case so as to not lose anything. The RFC should provide enough details about what is expected from the test cases.

FWIW I've been really happy with the approach I hacked up for Bandit. It's basically bombproof both locally and in CI

Thank you for the tips! Yes I considered using the docker method to enable it in Actions but there's little to gain from doing that as that part of the code base is super stable and not likely to break. I can still run it on my machine if necessary or setup a self-hosted runner.

A rewrite would allow me to test not only normal Websocket but also Websocket over HTTP/2 and HTTP/3 so there's benefits in taking that road at some point.