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