Add autobahn on github actions

This commit is contained in:
Alex Hultman
2023-05-07 04:45:40 +02:00
parent abb22793ff
commit d05c1a1c60
3 changed files with 54 additions and 0 deletions
+2
View File
@@ -72,6 +72,8 @@ jobs:
run: make -C uWebSockets/tests smoke run: make -C uWebSockets/tests smoke
- name: Run unit tests - name: Run unit tests
run: make -C uWebSockets/tests run: make -C uWebSockets/tests
- name: Autobahn|Testsuite
run: ~/.deno/bin/deno run -A --unstable uWebSockets/autobahn/server-test.js
build_osx: build_osx:
+26
View File
@@ -0,0 +1,26 @@
{
"outdir": "./reports/servers",
"servers": [
{
"agent": "uWebSockets",
"url": "ws://localhost:9001"
}
],
"cases": [
"1.*",
"2.*",
"3.*",
"4.*",
"5.*",
"6.*",
"7.*",
"9.*",
"10.*"
],
"exclude-cases": [
"11.*",
"12.*",
"13.*"
],
"exclude-agent-cases": {}
}
+26
View File
@@ -0,0 +1,26 @@
// Based on https://github.com/denoland/fastwebsockets/blob/main/autobahn/server-test.js
import { $ } from "https://deno.land/x/dax/mod.ts";
const pwd = new URL(".", import.meta.url).pathname;
const AUTOBAHN_TESTSUITE_DOCKER =
"crossbario/autobahn-testsuite:0.8.2@sha256:5d4ba3aa7d6ab2fdbf6606f3f4ecbe4b66f205ce1cbc176d6cdf650157e52242";
const server = $`uWebSockets/EchoServer`.spawn();
await $`docker run --name fuzzingserver -v ${pwd}/fuzzingclient.json:/fuzzingclient.json:ro -v ${pwd}/reports:/reports -p 9001:9001 --net=host --rm ${AUTOBAHN_TESTSUITE_DOCKER} wstest -m fuzzingclient -s fuzzingclient.json`.cwd(pwd);
const result = Object.values(JSON.parse(Deno.readTextFileSync("./uWebSockets/autobahn/reports/servers/index.json"))["uWebSockets"]);
function failed(name) {
return name != "OK" && name != "INFORMATIONAL" && name != "NON-STRICT";
}
const failedtests = result.filter((outcome) => failed(outcome.behavior) || failed(outcome.behaviorClose));
console.log(
`%c${result.length - failedtests.length} / ${result.length} tests OK`,
`color: ${failedtests.length == 0 ? "green" : "red"}`,
);
Deno.exit(failedtests.length == 0 ? 0 : 1);