--- .gitlab-ci.yml | 20 ++++++++++++++++++++ server/tests/autobahn-check-report | 18 ++++++++++++++++++ server/tests/fuzzingclient.json | 11 +++++++++++ 3 files changed, 49 insertions(+) create mode 100755 server/tests/autobahn-check-report create mode 100644 server/tests/fuzzingclient.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6e5204af7..b303d4656 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -136,3 +136,23 @@ makecheck-windows: - mingw64-configure --disable-celt051 - mingw64-make - mingw64-make LOG_COMPILE=wine -C server check || (cat server/tests/test-suite.log && exit 1) + +websocket-autobahn: + before_script: + - apt-get update || true + - apt-get install -y python-six python-pyparsing libopus-dev libssl-dev libglib2.0-dev + - git clone ${CI_REPOSITORY_URL/spice.git/spice-protocol.git} + - (cd spice-protocol && ./autogen.sh --prefix=/usr && make install) + image: crossbario/autobahn-testsuite + script: + - ./autogen.sh + - make -j4 + - ./server/tests/test-websocket & pid=$! + - wstest -m fuzzingclient -s server/tests/fuzzingclient.json + - kill $pid + - server/tests/autobahn-check-report reports/servers/index.json + - rm -rf reports/servers + - ./server/tests/test-websocket -n & pid=$! + - wstest -m fuzzingclient -s server/tests/fuzzingclient.json + - kill $pid + - server/tests/autobahn-check-report reports/servers/index.json diff --git a/server/tests/autobahn-check-report b/server/tests/autobahn-check-report new file mode 100755 index 000000000..9e29128c7 --- /dev/null +++ b/server/tests/autobahn-check-report @@ -0,0 +1,18 @@ +#!/usr/bin/env python +import sys +import json + +num_tests = 0 +for server in json.load(open(sys.argv[1])).values(): + for test, result in server.items(): + is_test = 0 + for k, v in result.items(): + if k[:8].lower() != 'behavior': + continue + is_test = 1 + if v != 'OK' and v != 'INFORMATIONAL': + raise Exception('Invalid %s %s for test %s' % (k, v, test)) + num_tests += is_test +if num_tests < 100: + raise Exception('Too few tests done %s' % num_tests) +print('Output report is fine') diff --git a/server/tests/fuzzingclient.json b/server/tests/fuzzingclient.json new file mode 100644 index 000000000..8bc1b718d --- /dev/null +++ b/server/tests/fuzzingclient.json @@ -0,0 +1,11 @@ +{ + "outdir": "./reports/servers", + "servers": [ + { + "url": "ws://127.0.0.1:7777" + } + ], + "cases": ["*"], + "exclude-cases": ["6.*","12.*","13.*"], + "exclude-agent-cases": {} +} -- 2.20.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel