Add autobahn on github actions
This commit is contained in:
@@ -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:
|
||||||
|
|
||||||
|
|||||||
@@ -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": {}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
Reference in New Issue
Block a user