@@ -6,12 +6,9 @@ const pwd = new URL(".", import.meta.url).pathname;
66const AUTOBAHN_TESTSUITE_DOCKER =
77 "crossbario/autobahn-testsuite:25.10.1@sha256:519915fb568b04c9383f70a1c405ae3ff44ab9e35835b085239c258b6fac3074" ;
88
9- // Accept optional feature flag from command line (e.g., "zlib")
10- const FEATURE_FLAG = Deno . args [ 0 ] || "" ;
11- const FEATURE_SUFFIX = FEATURE_FLAG ? `_${ FEATURE_FLAG } ` : "" ;
12- const CONTAINER_NAME = `fuzzingserver${ FEATURE_SUFFIX } ` ;
13- const PORT = FEATURE_FLAG === "zlib" ? 9002 : 9001 ;
9+ const CONTAINER_NAME = "fuzzingserver" ;
1410const CLIENT_EXE = "target/release/examples/autobahn_client" ;
11+ const WITH_ZLIB = Deno . args [ 0 ] === "zlib" ;
1512
1613async function containerExists ( name ) {
1714 const result =
@@ -26,12 +23,12 @@ async function containerRunning(name) {
2623}
2724
2825async function ensureClientBuilt ( ) {
29- console . log (
30- `Building autobahn_client${ FEATURE_FLAG ? ` with feature: ${ FEATURE_FLAG } ` : "" } ...` ,
31- ) ;
32- if ( FEATURE_FLAG ) {
33- await $ `cargo build --release --example autobahn_client --features ${ FEATURE_FLAG } ` ;
26+ console . log ( "Building autobahn_client..." ) ;
27+ if ( WITH_ZLIB ) {
28+ console . log ( "Building with zlib compression support" ) ;
29+ await $ `cargo build --release --example autobahn_client --features zlib` ;
3430 } else {
31+ console . log ( "Building without zlib compression support" ) ;
3532 await $ `cargo build --release --example autobahn_client` ;
3633 }
3734}
@@ -47,23 +44,23 @@ if (await containerExists(CONTAINER_NAME)) {
4744 `Autobahn ${ CONTAINER_NAME } docker container exists but is stopped. Starting it.` ,
4845 ) ;
4946 await $ `docker start ${ CONTAINER_NAME } ` ;
47+ await sleep ( 5 ) ;
5048 }
5149} else {
52- console . log (
53- `Starting Autobahn ${ CONTAINER_NAME } docker container on port ${ PORT } ...` ,
54- ) ;
50+ console . log ( `Starting Autobahn ${ CONTAINER_NAME } docker container...` ) ;
5551 $ `docker run --name ${ CONTAINER_NAME } \
5652 -v ${ pwd } /fuzzingserver.json:/fuzzingserver.json:ro \
5753 -v ${ pwd } /reports:/reports \
58- -p ${ PORT } :9001 \
54+ -p 9001 :9001 \
5955 --rm ${ AUTOBAHN_TESTSUITE_DOCKER } \
6056 wstest -m fuzzingserver -s fuzzingserver.json` . spawn ( ) ;
57+
58+ // sleep long because it might take a while to pull the files
59+ await sleep ( 30 ) ;
6160}
6261
6362await ensureClientBuilt ( ) ;
64- await $ `${ CLIENT_EXE } `
65- . env ( "RUST_BACKTRACE" , "full" )
66- . env ( "AUTOBAHN_PORT" , PORT . toString ( ) ) ;
63+ await $ `${ CLIENT_EXE } ` . env ( "RUST_BACKTRACE" , "full" ) ;
6764
6865const { yawc } = JSON . parse (
6966 Deno . readTextFileSync ( "./autobahn/reports/client/index.json" ) ,
@@ -72,7 +69,12 @@ const { yawc } = JSON.parse(
7269const result = Object . values ( yawc ) ;
7370
7471function failed ( name ) {
75- return name !== "OK" && name !== "INFORMATIONAL" && name !== "NON-STRICT" ;
72+ return (
73+ name !== "OK" &&
74+ name !== "INFORMATIONAL" &&
75+ name !== "NON-STRICT" &&
76+ name !== "UNIMPLEMENTED"
77+ ) ;
7678}
7779
7880const failedtests = result . filter ( ( outcome ) => failed ( outcome . behavior ) ) ;
0 commit comments