tungstenite-rs/scripts/autobahn-client.sh

37 lines
1013 B
Bash
Executable File

#!/usr/bin/env bash
# Author michael <themichaeleden@gmail.com>
set -euo pipefail
set -x
SOURCE_DIR=$(readlink -f "${BASH_SOURCE[0]}")
SOURCE_DIR=$(dirname "$SOURCE_DIR")
cd "${SOURCE_DIR}/.."
CONTAINER_NAME=fuzzingserver
function cleanup() {
docker container stop "${CONTAINER_NAME}"
}
trap cleanup TERM EXIT
function test_diff() {
if ! diff -q \
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/expected-results.json') \
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/client/index.json')
then
echo 'Difference in results, either this is a regression or' \
'one should update autobahn/expected-results.json with the new results.'
exit 64
fi
}
docker run -d --rm \
-v "${PWD}/autobahn:/autobahn" \
-p 9001:9001 \
--init \
--name "${CONTAINER_NAME}" \
crossbario/autobahn-testsuite \
wstest -m fuzzingserver -s 'autobahn/fuzzingserver.json'
sleep 3
cargo run --release --example autobahn-client
test_diff