deb-python-autobahn/Makefile

180 lines
4.5 KiB
Makefile
Executable File

.PHONY: test docs pep8
all:
@echo "Targets:"
@echo ""
@echo " clean Cleanup"
@echo " install Local install"
@echo " publish Clean build, register and publish to PyPi"
@echo " test Run unit tests"
@echo " flake8 Run flake8 code checking"
@echo ""
# install locally
install:
# enforce use of bundled libsodium
export SODIUM_INSTALL=bundled
pip install --upgrade -e .[twisted,asyncio,serialization,encryption,dev]
# upload to our internal deployment system
upload: clean
python setup.py bdist_wheel
aws s3 cp --acl public-read \
dist/autobahn-*.whl \
s3://fabric-deploy/autobahn/
# cleanup everything
clean:
rm -rf ./docs/build
rm -rf ./.cache
rm -rf ./autobahn.egg-info
rm -rf ./build
rm -rf ./dist
rm -rf ./temp
rm -rf ./_trial_temp
rm -rf ./.tox
rm -rf ./.eggs
rm -f ./twisted/plugins/dropin.cache
find . -name "*dropin.cache.new" -type f -exec rm -f {} \;
find . -name "*.tar.gz" -type f -exec rm -f {} \;
find . -name "*.egg" -type f -exec rm -f {} \;
find . -name "*.pyc" -type f -exec rm -f {} \;
# Learn to love the shell! http://unix.stackexchange.com/a/115869/52500
find . \( -name "*__pycache__" -type d \) -prune -exec rm -rf {} +
# publish to PyPI
publish: clean
python setup.py sdist bdist_wheel
twine upload dist/*
docs:
cd docs && make html
spelling:
cd docs && sphinx-build -b spelling . _spelling
test_styleguide:
flake8 --statistics --max-line-length=119 -qq autobahn
# direct test via pytest (only here because of setuptools test integration)
test_pytest:
python -m pytest -rsx autobahn/
# test via setuptools command
test_setuptools:
python setup.py test
test: flake8 test_twisted test_asyncio
# test under Twisted
test_twisted:
USE_TWISTED=1 trial autobahn
#WAMP_ROUTER_URL="ws://127.0.0.1:8080/ws" USE_TWISTED=1 trial autobahn
test_serializer:
USE_TWISTED=1 trial autobahn.wamp.test.test_serializer
test_twisted_coverage:
-rm .coverage
USE_TWISTED=1 coverage run --omit=*/test/* --source=autobahn `which trial` autobahn
# coverage -a -d annotated_coverage
coverage html
coverage report --show-missing
test_coverage:
-rm .coverage
tox -e py27-twcurrent,py27-trollius,py34-asyncio
coverage combine
coverage html
coverage report --show-missing
# test under asyncio
test_asyncio:
USE_ASYNCIO=1 python -m pytest -rsx autobahn
#WAMP_ROUTER_URL="ws://127.0.0.1:8080/ws" USE_ASYNCIO=1 python -m pytest -rsx
test1:
USE_TWISTED=1 trial autobahn.wamp.test.test_auth
# USE_TWISTED=1 python -m pytest -s -v autobahn/wamp/test/test_auth.py
# USE_TWISTED=1 python -m pytest -s -v autobahn/wamp/test/test_router.py
# USE_ASYNCIO=1 python -m pytest -s -v autobahn/wamp/test/test_router.py
test2:
# USE_TWISTED=1 python -m pytest -s -v autobahn/wamp/test/test_router.py
USE_ASYNCIO=1 python -m pytest -s -v autobahn/wamp/test/test_router.py
# trial autobahn
# trial autobahn.websocket.test
# trial autobahn.wamp.test
# trial autobahn.wamp.test.test_component
# trial autobahn.wamp.test.test_message
# trial autobahn.wamp.test.test_protocol
# trial autobahn.wamp.test.test_protocol_peer
# trial autobahn.wamp.test.test_serializer
# trial autobahn.wamp.test.test_uri_pattern
pyflakes:
pyflakes .
# run PEP8 check and print statistics
pep8:
pep8 --statistics --ignore=E501 -qq autobahn
# run PEP8 check and show source for offending code
pep8show:
pep8 --show-source --ignore=E501 autobahn
# run autopep8 to automatically transform offending code
autopep8:
autopep8 -ri --aggressive autobahn
# This will run pep8, pyflakes and can skip lines that end with # noqa
flake8:
flake8 --ignore=E402,E501,N801,N802,N803,N805,N806 autobahn
# run PyLint
pylint:
pylint -d line-too-long,invalid-name autobahn
# on Unix, check for files with Windows line endings
find_windows_files:
find . -name "*" -exec file {} \; | grep "CRLF"
# on Windows (Git Bash), check for files with Unix lines endings
find_unix_files:
find . -name "*" -exec dos2unix -tv {} \; 2>&1 | grep "Unix"
# sudo apt install gource ffmpeg
gource:
gource \
--path . \
--seconds-per-day 0.15 \
--title "autobahn-python" \
-1280x720 \
--file-idle-time 0 \
--auto-skip-seconds 0.75 \
--multi-sampling \
--stop-at-end \
--highlight-users \
--hide filenames,mouse,progress \
--max-files 0 \
--background-colour 000000 \
--disable-bloom \
--font-size 24 \
--output-ppm-stream - \
--output-framerate 30 \
-o - \
| ffmpeg \
-y \
-r 60 \
-f image2pipe \
-vcodec ppm \
-i - \
-vcodec libx264 \
-preset ultrafast \
-pix_fmt yuv420p \
-crf 1 \
-threads 0 \
-bf 0 \
autobahn-python.mp4