-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
66 lines (64 loc) · 2.35 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
[tox]
envlist = tests
skipsdist = true
requires =
tox>=3.25.0,<4
tox-envfile
tox-faster
tox-run-command
[testenv]
skip_install = true
setenv =
PYTHONUNBUFFERED = 1
OBJC_DISABLE_INITIALIZE_FORK_SAFETY = YES
dev: DEV = {env:DEV:true}
dev: SENTRY_ENVIRONMENT = {env:SENTRY_ENVIRONMENT:dev}
dev: NEW_RELIC_APP_NAME = {env:NEW_RELIC_APP_NAME:test-pyapp}
dev: NEW_RELIC_ENVIRONMENT = {env:NEW_RELIC_ENVIRONMENT:dev}
dev,tests,functests: PYTHONDEVMODE = {env:PYTHONDEVMODE:1}
tests: COVERAGE_FILE = {env:COVERAGE_FILE:.coverage.{envname}}
# Make `import test_pyapp` work in `make shell`.
dev: PYTHONPATH = .
passenv =
HOME
PYTEST_ADDOPTS
dev: DEBUG
dev: SENTRY_DSN
dev: NEW_RELIC_LICENSE_KEY
GUNICORN_CERTFILE
GUNICORN_KEYFILE
deps =
pip-tools
pip-sync-faster
depends =
coverage: tests
commands_pre =
pip-sync-faster requirements/{env:TOX_ENV_NAME}.txt --pip-args '--disable-pip-version-check'
commands =
dev: {posargs:supervisord -c conf/supervisord-dev.conf}
format: black test_pyapp tests bin
format: isort --atomic test_pyapp tests bin
checkformatting: black --check test_pyapp tests bin
checkformatting: isort --quiet --check-only test_pyapp tests bin
lint: pylint test_pyapp bin
lint: pylint --rcfile=tests/pyproject.toml tests
lint: pydocstyle test_pyapp tests bin
lint: pycodestyle test_pyapp tests bin
tests: python -m pytest --cov --cov-report= --cov-fail-under=0 --failed-first --new-first --no-header --quiet {posargs:tests/unit/}
functests: python -m pytest --failed-first --new-first --no-header --quiet {posargs:tests/functional/}
coverage: coverage combine
coverage: coverage report
typecheck: mypy test_pyapp
template: python3 bin/make_template {posargs}
[testenv:dev]
# By default when you Ctrl-c the `make dev` command tox is too aggressive about
# killing supervisor. tox kills supervisor before supervisor has had time to
# stop or kill its child processes, resulting in detached child processes being
# left running and other problems.
#
# Fix this by configuring tox to wait a long time before sending any further
# SIGINTs (after the first one) or SIGTERMs or SIGKILLs to supervisor.
# Just trust supervisor to clean up all its child processes and stop.
suicide_timeout = 60.0
interrupt_timeout = 60.0
terminate_timeout = 60.0