tests: rely on Autobahn Suite usage from docker
See https://github.com/snapview/tokio-tungstenite/pull/165 for more details.
This commit is contained in:
parent
550cc49cc6
commit
485d04b099
|
@ -2,9 +2,8 @@ language: rust
|
|||
rust:
|
||||
- stable
|
||||
|
||||
install:
|
||||
- sudo apt-get install python-unittest2
|
||||
- sudo pip install ghp-import urllib3[secure] autobahntestsuite
|
||||
services:
|
||||
- docker
|
||||
|
||||
before_script:
|
||||
- export PATH="$PATH:$HOME/.cargo/bin"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,27 +6,31 @@ SOURCE_DIR=$(readlink -f "${BASH_SOURCE[0]}")
|
|||
SOURCE_DIR=$(dirname "$SOURCE_DIR")
|
||||
cd "${SOURCE_DIR}/.."
|
||||
|
||||
CONTAINER_NAME=fuzzingserver
|
||||
function cleanup() {
|
||||
kill -9 ${FUZZINGSERVER_PID}
|
||||
docker container stop "${CONTAINER_NAME}"
|
||||
}
|
||||
trap cleanup TERM EXIT
|
||||
|
||||
function test_diff() {
|
||||
if ! diff -q \
|
||||
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/client-results.json') \
|
||||
<(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/client-results.json with the new results.' \
|
||||
'The results are:'
|
||||
'one should update autobahn/expected-results.json with the new results.' \
|
||||
exit 64
|
||||
fi
|
||||
}
|
||||
|
||||
cargo build --release --example autobahn-client
|
||||
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'
|
||||
|
||||
wstest -m fuzzingserver -s 'autobahn/fuzzingserver.json' & FUZZINGSERVER_PID=$!
|
||||
sleep 3
|
||||
echo "Server PID: ${FUZZINGSERVER_PID}"
|
||||
cargo run --release --example autobahn-client
|
||||
test_diff
|
||||
|
|
|
@ -5,7 +5,6 @@ set -x
|
|||
SOURCE_DIR=$(readlink -f "${BASH_SOURCE[0]}")
|
||||
SOURCE_DIR=$(dirname "$SOURCE_DIR")
|
||||
cd "${SOURCE_DIR}/.."
|
||||
WSSERVER_PID=
|
||||
|
||||
function cleanup() {
|
||||
kill -9 ${WSSERVER_PID}
|
||||
|
@ -14,18 +13,22 @@ trap cleanup TERM EXIT
|
|||
|
||||
function test_diff() {
|
||||
if ! diff -q \
|
||||
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/client-results.json') \
|
||||
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/expected-results.json') \
|
||||
<(jq -S 'del(."Tungstenite" | .. | .duration?)' 'autobahn/server/index.json')
|
||||
then
|
||||
echo Difference in results, either this is a regression or \
|
||||
one should update autobahn/server-results.json with the new results.
|
||||
echo 'Difference in results, either this is a regression or' \
|
||||
'one should update autobahn/expected-results.json with the new results.' \
|
||||
exit 64
|
||||
fi
|
||||
}
|
||||
|
||||
cargo build --release --example autobahn-server
|
||||
cargo run --release --example autobahn-server & WSSERVER_PID=$!
|
||||
echo "Server PID: ${WSSERVER_PID}"
|
||||
sleep 3
|
||||
wstest -m fuzzingclient -s 'autobahn/fuzzingclient.json'
|
||||
|
||||
docker run --rm \
|
||||
-v "${PWD}/autobahn:/autobahn" \
|
||||
--network host \
|
||||
crossbario/autobahn-testsuite \
|
||||
wstest -m fuzzingclient -s 'autobahn/fuzzingclient.json'
|
||||
|
||||
test_diff
|
||||
|
|
Loading…
Reference in New Issue