@@ -18,6 +18,7 @@ VENV = $(VENV_PATH)/ready
1818BIN = $(VENV_PATH ) /bin
1919PY3 = $(shell which python3)
2020PYTHON ?= $(shell readlink -f $(PY3 ) )
21+ PYTEST = . $(BIN ) /activate && $(BIN ) /pytest
2122TALISKER_EXTRAS =gunicorn,raven,flask,django,celery,prometheus,pg,dev,asyncio
2223LIMBO_REQUIREMENTS =tests/requirements.limbo.txt
2324REQUIREMENTS =$(shell ls requirements.* .txt)
@@ -29,14 +30,14 @@ $(VENV_PATH):
2930 virtualenv $(VENV_PATH ) -p $(PYTHON )
3031
3132setup.py : setup.cfg scripts/build_setup.py | $(VENV_PATH )
32- env/bin /python scripts/build_setup.py > setup.py
33+ $( BIN ) /python scripts/build_setup.py > setup.py
3334
3435$(LIMBO_REQUIREMENTS ) limbo : setup.cfg requirements.* .txt scripts/limbo.py | $(VENV_PATH )
35- env/bin /python scripts/limbo.py requirements.tests.txt --extras=$(TALISKER_EXTRAS ) > $(LIMBO_REQUIREMENTS )
36+ $( BIN ) /python scripts/limbo.py requirements.tests.txt --extras=$(TALISKER_EXTRAS ) > $(LIMBO_REQUIREMENTS )
3637
3738# workaround to allow tox to build limbo requirements on demand
3839limbo-env : $(LIMBO_REQUIREMENTS )
39- pip install $(TOX_OPTS ) -r requirements.limbo.text $(TOX_PACKAGES )
40+ $( BIN ) / pip install $(TOX_OPTS ) -r $( LIMBO_REQUIREMENTS ) $(TOX_PACKAGES )
4041
4142$(VENV ) : setup.py $(REQUIREMENTS ) | $(VENV_PATH )
4243 $(BIN ) /pip install -U pip
@@ -49,11 +50,11 @@ lint: $(VENV)
4950 $(BIN ) /flake8 talisker tests
5051
5152_test : $(VENV )
52- . $( BIN ) /activate && $( BIN ) /pytest --timeout=15 --no-success-flaky-report $(ARGS )
53+ $( PYTEST ) --timeout=15 --no-success-flaky-report $(ARGS )
5354
5455TEST_FILES = $(shell find tests -maxdepth 1 -name test_\* .py | cut -c 7- | cut -d. -f1)
5556$(TEST_FILES ) : $(VENV )
56- . $( BIN ) /activate && pytest -k $@ $(ARGS )
57+ $( PYTEST ) -k $@ $(ARGS )
5758
5859export DEBUGLOG =log
5960export DEVEL =1
@@ -70,7 +71,7 @@ run_multiprocess: run
7071lib/sqlalchemy :
7172 $(BIN ) /pip install sqlalchemy
7273
73- flask : | lib/sqlalchemy
74+ flask : $( VENV ) | lib/sqlalchemy
7475 $(TALISKER ) tests.flask_app:app
7576
7677lib/redis :
@@ -99,27 +100,25 @@ statsd:
99100 $(BIN ) /python tests/udpecho.py
100101
101102test : _test lint
102- @echo " Remember to run 'make tox' to test change against more Python versions"
103+ @echo " Remember to run 'make tox' to test changes against more Python versions"
103104
104105debug-test :
105- . $( BIN ) /activate && $( BIN ) /pytest -s --pdb $(ARGS )
106+ $( PYTEST ) -s --pdb $(ARGS )
106107
107108tox : $(VENV ) $(LIMBO_REQUIREMENTS )
108109 $(BIN ) /tox $(ARGS )
109110
110111# use requirements as constraints files
111112travis : $(VENV_PATH )
112- env/bin/pip install tox setuptools $(subst requirements,-c requirements,$(REQUIREMENTS ) )
113- $(MAKE ) $(LIMBO_REQUIREMENTS )
114- env/bin/tox
113+ $(BIN ) /pip install tox $(subst requirements,-c requirements,$(REQUIREMENTS ) )
114+ $(MAKE ) tox
115115
116116github-tox : $(VENV )
117- . $(BIN ) /activate && pip install tox setuptools $(subst requirements,-c requirements,$(REQUIREMENTS ) )
118- $(MAKE ) $(LIMBO_REQUIREMENTS )
119- tox
117+ $(BIN ) /pip install tox $(subst requirements,-c requirements,$(REQUIREMENTS ) )
118+ $(MAKE ) tox
120119
121120coverage : $(VENV )
122- $(BIN ) /pytest --cov=talisker --cov-report html:htmlcov --cov-report term
121+ $(PYTEST ) --cov=talisker --cov-report html:htmlcov --cov-report term
123122 $(BROWSER ) htmlcov/index.html
124123
125124docs : $(VENV )
@@ -135,7 +134,7 @@ clean: clean-build clean-pyc clean-test
135134clean-build :
136135 rm build/ dist/ .eggs/ -rf
137136 find . -name ' *.egg-info' | xargs rm -rf
138- find . -name ' *.egg' | xargs rm -f
137+ find . -name ' *.egg' | xargs rm -rf
139138
140139clean-pyc :
141140 find . -name ' *.pyc' | xargs rm -f
@@ -149,8 +148,6 @@ clean-test:
149148
150149# publishing
151150RELEASE_TOOLS = $(BIN ) /twine $(BIN ) /bumpversion
152- PY2ENV_PATH = .py2env
153- PY2ENV = $(PY2ENV_PATH ) /.done
154151PACKAGE_NAME = $(shell $(BIN ) /python setup.py --name)
155152PACKAGE_FULLNAME = $(shell $(BIN ) /python setup.py --fullname)
156153PACKAGE_VERSION = $(shell $(BIN ) /python setup.py --version)
@@ -163,18 +160,11 @@ $(RELEASE_TOOLS): $(VENV)
163160 echo $(RELEASE_TOOLS )
164161 $(BIN ) /pip install twine bumpversion
165162
166- # minimal python2 env to build p2 wheel
167- $(PY2ENV ) :
168- virtualenv $(PY2ENV_PATH ) -p /usr/bin/python2.7
169- $(PY2ENV_PATH ) /bin/pip install wheel
170- touch $@
171-
172163# force build every time, it's not slow
173- _build : $(VENV ) $( PY2ENV )
164+ _build : $(VENV )
174165 rm -rf dist/*
175166 $(BIN ) /python setup.py sdist
176167 $(BIN ) /python setup.py bdist_wheel
177- $(PY2ENV_PATH ) /bin/python setup.py bdist_wheel
178168
179169release-check : $(RELEASE_TOOLS )
180170 git checkout master
@@ -198,7 +188,7 @@ release-tag:
198188 git tag v$(VERSION )
199189 git push origin master
200190
201- .PHONY : releast -test
191+ .PHONY : release -test
202192release-test : WHEELENV=/tmp/talisker-test-wheel-py$(PY )
203193release-test : SDISTENV=/tmp/talisker-test-sdist-py$(PY )
204194release-test :
0 commit comments