github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/acceptancetests/Makefile (about) 1 mkfile_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) 2 p=test*.py 3 py3="assess_model_change_watcher.py" 4 flake8_ignore="W503,E121,E722,E123,E126" 5 6 define TEST_DEPENDENCIES 7 libssl-dev 8 python-pip 9 python3-pip 10 python-tz 11 python-yaml 12 endef 13 14 .PHONY: install-test-dependencies 15 install-test-dependencies: apt-update 16 @echo Installing test dependecies 17 @sudo apt-get --yes install \ 18 $(strip $(TEST_DEPENDENCIES)) 19 pip install --user -r $(mkfile_dir)/requirements.txt 20 pip3 install --user -r $(mkfile_dir)/requirements.txt 21 22 # "-W ignore::DeprecationWarning" should be removed once moved to py3 only. 23 test: 24 TMPDIR=/tmp python -m unittest discover . -p "$(p)" 25 TMPDIR=/tmp python3 -W ignore::DeprecationWarning -m unittest discover jujupy -t . -p "$(p)" 26 lint: 27 python3 -m flake8 --ignore=$(flake8_ignore) --builtins xrange,basestring $(py3) --exclude=repository $(mkfile_dir) 28 flake8 --ignore=$(flake8_ignore) --builtins xrange,basestring --exclude=$(py3),repository $(mkfile_dir) 29 cover: 30 python -m coverage run --source="./" --omit "./tests/*" -m unittest discover -vv ./tests 31 python -m coverage report 32 clean: 33 find . -name '*.pyc' -delete 34 35 apt-update: 36 sudo apt-get -qq update 37 juju-ci-tools.common_0.1.4-0_all.deb: apt-update 38 find . -name '*.deb' -delete 39 sudo apt-get install -y equivs 40 equivs-build juju-ci-tools-common 41 install-deps: juju-ci-tools.common_0.1.4-0_all.deb apt-update 42 sudo dpkg -i juju-ci-tools.common_0.1.4-0_all.deb || true 43 sudo apt-get install -y -f 44 pip install --user -r $(mkfile_dir)/requirements.txt 45 name=NAMEHERE 46 assess_file=assess_$(name).py 47 new-assess: 48 install -m 755 template_assess.py.tmpl $(assess_file) 49 sed -i -e "s/TEMPLATE/$(name)/g" $(assess_file) $(test_assess_file) 50 .PHONY: lint test cover clean new-assess apt-update install-deps