279 lines
6.9 KiB
Makefile
279 lines
6.9 KiB
Makefile
CURDIR := $(CURDIR)
|
|
|
|
default:
|
|
@echo 'targets: clean, downloads, build_wstest'
|
|
|
|
|
|
clean:
|
|
-rm -rf ./reports
|
|
#-rm -rf ./downloads
|
|
-rm -rf ./venv*
|
|
-rm -rf ./wstest
|
|
|
|
clean_reports:
|
|
-rm -rf ./reports
|
|
|
|
upload_reports:
|
|
./wstest/bin/aws s3 sync reports s3://autobahn.ws/testsuite/reports \
|
|
--delete --acl public-read --region=eu-central-1
|
|
|
|
|
|
downloads:
|
|
mkdir -p downloads
|
|
wget -P downloads https://bootstrap.pypa.io/get-pip.py
|
|
wget -P downloads https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.7.0-linux64.tar.bz2
|
|
wget -P downloads https://bitbucket.org/pypy/pypy/downloads/pypy3-v5.7.0-linux64.tar.bz2
|
|
wget -P downloads https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz
|
|
wget -P downloads https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
|
|
|
|
|
|
build_wstest:
|
|
mkdir -p ./wstest
|
|
tar xvf ./downloads/pypy2-v5.7.0-linux64.tar.bz2 --strip-components=1 -C ./wstest
|
|
./wstest/bin/pypy ./downloads/get-pip.py
|
|
./wstest/bin/pip install autobahntestsuite
|
|
./wstest/bin/pip install awscli
|
|
|
|
|
|
build_pypy2:
|
|
mkdir -p ./pypy2
|
|
tar xvf ./downloads/pypy2-v5.7.0-linux64.tar.bz2 --strip-components=1 -C ./pypy2
|
|
#cd ./pypy2/bin && ln -s pypy python && cd ../..
|
|
./pypy2/bin/python ./downloads/get-pip.py
|
|
./pypy2/bin/pip install virtualenv
|
|
./pypy2/bin/python -V
|
|
|
|
build_pypy3:
|
|
mkdir -p ./pypy3
|
|
tar xvf ./downloads/pypy3-v5.7.0-linux64.tar.bz2 --strip-components=1 -C ./pypy3
|
|
#cd ./pypy3/bin && ln -s pypy3 python && cd ../..
|
|
./pypy3/bin/python ./downloads/get-pip.py
|
|
./pypy3/bin/pip install virtualenv
|
|
./pypy3/bin/python -V
|
|
|
|
build_cpy2:
|
|
mkdir -p ./cpy2_build
|
|
tar xvf ./downloads/Python-2.7.13.tar.xz --strip-components=1 -C ./cpy2_build
|
|
cd ./cpy2_build && ./configure --prefix=${CURDIR}/cpy2 && make && make install
|
|
rm -rf ./cpy2_build
|
|
./cpy2/bin/python ./downloads/get-pip.py
|
|
./cpy2/bin/pip install virtualenv
|
|
./cpy2/bin/python -V
|
|
|
|
build_cpy3:
|
|
mkdir -p ./cpy3_build
|
|
tar xvf ./downloads/Python-3.6.0.tar.xz --strip-components=1 -C ./cpy3_build
|
|
cd ./cpy3_build && ./configure --prefix=${CURDIR}/cpy3 && make && make install
|
|
cd ./cpy3/bin && ln -s python3 python && cd ../..
|
|
cd ./cpy3/bin && ln -s pip3 pip && cd ../..
|
|
rm -rf ./cpy3_build
|
|
./cpy3/bin/pip install virtualenv
|
|
./cpy3/bin/python -V
|
|
|
|
build: build_wstest \
|
|
build_pypy2 \
|
|
build_pypy3 \
|
|
build_cpy2 \
|
|
build_cpy3
|
|
|
|
|
|
versions:
|
|
./cpy2/bin/python -V
|
|
./cpy3/bin/python -V
|
|
./pypy2/bin/python -V
|
|
./pypy3/bin/python -V
|
|
|
|
|
|
setup_pypy2_tx:
|
|
./pypy2/bin/virtualenv ./venv_pypy2_tx
|
|
./venv_pypy2_tx/bin/pip install -e ..[twisted]
|
|
|
|
setup_pypy2_aio:
|
|
./pypy2/bin/virtualenv ./venv_pypy2_aio
|
|
./venv_pypy2_aio/bin/pip install -e ..[asyncio]
|
|
|
|
setup_pypy3_tx:
|
|
./pypy3/bin/virtualenv ./venv_pypy3_tx
|
|
./venv_pypy3_tx/bin/pip install -e ..[twisted]
|
|
|
|
setup_pypy3_aio:
|
|
./pypy3/bin/virtualenv ./venv_pypy3_aio
|
|
./venv_pypy3_aio/bin/pip install -e ..[asyncio]
|
|
|
|
setup_cpy2_tx:
|
|
./cpy2/bin/virtualenv ./venv_cpy2_tx
|
|
./venv_cpy2_tx/bin/pip install -e ..[twisted]
|
|
|
|
setup_cpy2_aio:
|
|
./cpy2/bin/virtualenv ./venv_cpy2_aio
|
|
./venv_cpy2_aio/bin/pip install -e ..[asyncio]
|
|
|
|
setup_cpy3_tx:
|
|
./cpy3/bin/virtualenv ./venv_cpy3_tx
|
|
./venv_cpy3_tx/bin/pip install -e ..[twisted]
|
|
|
|
setup_cpy3_aio:
|
|
./cpy3/bin/virtualenv ./venv_cpy3_aio
|
|
./venv_cpy3_aio/bin/pip install -e ..[asyncio]
|
|
|
|
setup: setup_pypy2_tx \
|
|
setup_pypy2_aio \
|
|
setup_pypy3_tx \
|
|
setup_pypy3_aio \
|
|
setup_cpy2_tx \
|
|
setup_cpy2_aio \
|
|
setup_cpy3_tx \
|
|
setup_cpy3_aio
|
|
|
|
|
|
wstest_server:
|
|
./wstest/bin/wstest -m fuzzingserver
|
|
|
|
|
|
test_pypy2_tx_client:
|
|
./venv_pypy2_tx/bin/python testee_client_tx.py
|
|
|
|
test_pypy2_aio_client:
|
|
./venv_pypy2_aio/bin/python testee_client_aio.py
|
|
|
|
test_pypy3_tx_client:
|
|
./venv_pypy3_tx/bin/python testee_client_tx.py
|
|
|
|
test_pypy3_aio_client:
|
|
./venv_pypy3_tx/bin/python testee_client_aio.py
|
|
|
|
test_cpy2_tx_client:
|
|
./venv_cpy2_tx/bin/python testee_client_tx.py
|
|
|
|
test_cpy2_aio_client:
|
|
./venv_cpy2_aio/bin/python testee_client_aio.py
|
|
|
|
test_cpy3_tx_client:
|
|
./venv_cpy3_tx/bin/python testee_client_tx.py
|
|
|
|
test_cpy3_aio_client:
|
|
./venv_cpy3_tx/bin/python testee_client_aio.py
|
|
|
|
|
|
test_tx_client: \
|
|
test_pypy2_tx_client \
|
|
test_pypy3_tx_client \
|
|
test_cpy2_tx_client \
|
|
test_cpy3_tx_client
|
|
|
|
test_aio_client: \
|
|
test_pypy2_aio_client \
|
|
test_pypy3_aio_client \
|
|
test_cpy2_aio_client \
|
|
test_cpy3_aio_client
|
|
|
|
test_client: \
|
|
test_tx_client \
|
|
test_aio_client
|
|
|
|
|
|
start_cpy2_tx_server:
|
|
./venv_cpy2_tx/bin/python testee_server_tx.py --url ws://127.0.0.1:9010 &
|
|
|
|
start_cpy3_tx_server:
|
|
./venv_cpy3_tx/bin/python testee_server_tx.py --url ws://127.0.0.1:9011 &
|
|
|
|
start_pypy2_tx_server:
|
|
./venv_pypy2_tx/bin/python testee_server_tx.py --url ws://127.0.0.1:9012 &
|
|
|
|
start_pypy3_tx_server:
|
|
./venv_pypy3_tx/bin/python testee_server_tx.py --url ws://127.0.0.1:9013 &
|
|
|
|
|
|
start_cpy2_aio_server:
|
|
./venv_cpy2_aio/bin/python testee_server_aio.py --url ws://127.0.0.1:9014 &
|
|
|
|
start_cpy3_aio_server:
|
|
./venv_cpy3_aio/bin/python testee_server_aio.py --url ws://127.0.0.1:9015 &
|
|
|
|
start_pypy2_aio_server:
|
|
./venv_pypy2_aio/bin/python testee_server_aio.py --url ws://127.0.0.1:9016 &
|
|
|
|
start_pypy3_aio_server:
|
|
./venv_pypy3_aio/bin/python testee_server_aio.py --url ws://127.0.0.1:9017 &
|
|
|
|
|
|
start_tx_server: \
|
|
start_cpy2_tx_server \
|
|
start_cpy3_tx_server \
|
|
start_pypy2_tx_server \
|
|
start_pypy3_tx_server
|
|
|
|
start_aio_server: \
|
|
start_cpy2_aio_server \
|
|
start_cpy3_aio_server \
|
|
start_pypy2_aio_server \
|
|
start_pypy3_aio_server
|
|
|
|
start_server: \
|
|
start_tx_server \
|
|
start_aio_server
|
|
|
|
|
|
stop_server:
|
|
-pkill -f "testee_server*"
|
|
|
|
|
|
# test individual server flavor - note that this will only
|
|
# produce a single report each, and it cannot be combined into
|
|
# a single report! here is the comment from wstest.py
|
|
|
|
# allow overriding servers from command line option, providing 1 server
|
|
# this is semi-useful, as you cannot accumulate a combined report for
|
|
# multiple servers by running wstest over and over again. the generated
|
|
# report is only for the last invocation - it would require a massive
|
|
# code restructering / rewriting to change that. no time for that unfort.
|
|
|
|
test_cpy2_tx_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9010
|
|
|
|
test_cpy3_tx_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9011
|
|
|
|
test_pypy2_tx_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9012
|
|
|
|
test_pypy3_tx_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9013
|
|
|
|
|
|
test_cpy2_aio_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9014
|
|
|
|
test_cpy3_aio_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9015
|
|
|
|
test_pypy2_aio_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9016
|
|
|
|
test_pypy3_aio_server:
|
|
./wstest/bin/wstest -m fuzzingclient -w ws://127.0.0.1:9017
|
|
|
|
|
|
test_tx_server: \
|
|
test_cpy2_tx_server \
|
|
test_cpy3_tx_server \
|
|
test_pypy2_tx_server \
|
|
test_pypy3_tx_server
|
|
|
|
test_aio_server: \
|
|
test_cpy2_aio_server \
|
|
test_cpy3_aio_server \
|
|
test_pypy2_aio_server \
|
|
test_pypy3_aio_server
|
|
|
|
# THIS DOES NOT WORK TO PRODUCE THE FINAL COMBINED REPORT FOR ALL SERVERS!
|
|
# see above.
|
|
#test_server: \
|
|
# test_tx_server \
|
|
# test_aio_server
|
|
|
|
|
|
test_server:
|
|
./wstest/bin/wstest -m fuzzingclient
|