forked from hypothesis/h
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
120 lines (114 loc) · 4.55 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[tox]
envlist = tests
skipsdist = true
requires =
tox>=3.16.1,<4
tox-faster
tox-pyenv
tox-envfile
tox-run-command
# Exclusively use Python commands from pyenv's copies of Python, don't fall
# back to tox's default non-pyenv command search strategy.
tox_pyenv_fallback = false
[pytest]
filterwarnings =
# Fail the tests if there are any warnings.
error
# Ignore certain specific warnings. One line per warning to ignore. The
# pattern is:
#
# ignore:<WARNING_MESSAGE>:<WARNING_CATEGORY>:<MODULE>
#
# <WARNING_MESSAGE> is a regex that must match the warning message that you
# want to ignore.
#
# <WARNING_CATEGORY> is the class of the warning that you want to ignore,
# e.g. DeprecationWarning. See:
# https://docs.python.org/2/library/warnings.html#warning-categories
#
# <MODULE> is the name of the module that the warning originates from.
#
# See https://docs.python.org/3/library/warnings.html and
# https://docs.pytest.org/en/latest/warnings.html
ignore:^Use of \.\. or absolute path in a resource path is not allowed and will raise exceptions in a future release\.$:DeprecationWarning:pkg_resources
ignore:^the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses$:DeprecationWarning:newrelic.api.import_hook
ignore:^The behavior of AcceptLanguageValidHeader\.__iter__ is currently maintained for backward compatibility, but will change in the future.$:DeprecationWarning:webob.acceptparse
# pkg_resources is calling its own deprecated function? Anyway I don't think the problem is with us.
ignore:^Deprecated call to .pkg_resources\.declare_namespace\('.*'\).\.:DeprecationWarning:pkg_resources
[testenv]
skip_install = true
sitepackages = {env:SITE_PACKAGES:false}
passenv =
HOME
dev: AUTHORITY
dev: BOUNCER_URL
dev: CLIENT_OAUTH_ID
dev: CLIENT_RPC_ALLOWED_ORIGINS
dev: CLIENT_URL
dev: GOOGLE_ANALYTICS_TRACKING_ID
dev: H_GUNICORN_CERTFILE
dev: H_GUNICORN_KEYFILE
dev: SENTRY_DSN
dev: SENTRY_DSN_CLIENT
dev: SENTRY_DSN_FRONTEND
dev: SENTRY_ENVIRONMENT
dev: TOSDR_URL
dev: USE_HTTPS
dev: NEW_RELIC_LICENSE_KEY
dev: NEW_RELIC_APP_NAME
dev: NODE_ENV
dev: PROXY_AUTH
{tests,functests}: TEST_DATABASE_URL
{tests,functests}: ELASTICSEARCH_URL
{tests,functests}: PYTEST_ADDOPTS
functests: BROKER_URL
setenv =
PYTHONUNBUFFERED = 1
REPORT_FDW_USERS=lms-fdw report-fdw
dev: PYTHONPATH = .
dev: APP_URL = {env:APP_URL:http://localhost:5000}
dev: ASSET_PATH = {env:ASSET_PATH:/assets}
dev: WEBSOCKET_URL = {env:WEBSOCKET_URL:ws://localhost:5001/ws}
dev: ENABLE_WEB = {env:ENABLE_WEB:true}
dev: ENABLE_WEBSOCKET = {env:ENABLE_WEBSOCKET:true}
dev: ENABLE_WORKER = {env:ENABLE_WORKER:true}
OBJC_DISABLE_INITIALIZE_FORK_SAFETY = YES
SQLALCHEMY_SILENCE_UBER_WARNING=1
deps =
-r requirements/{env:TOX_ENV_NAME}.txt
whitelist_externals =
{dev,tests,functests,dockercompose}: sh
depends =
{coverage,functests}: tests
commands =
pip-sync-faster requirements/{env:TOX_ENV_NAME}.txt --pip-args '--disable-pip-version-check'
dev: sh bin/hypothesis --dev init
dev: {posargs:supervisord -c conf/supervisord-dev.conf}
lint: pylint {posargs:h} bin
lint: pylint --rcfile=tests/.pylintrc tests bin
lint: pydocstyle h tests bin
lint: pycodestyle h tests bin
format: black h tests bin
format: isort --quiet --atomic h tests bin
checkformatting: black --check h tests bin
checkformatting: isort --quiet --check-only h tests bin
{tests,functests}: sh bin/create-testdb
tests: coverage run -m pytest {posargs:tests/h/}
functests: pytest {posargs:tests/functional/}
docs: sphinx-autobuild -qT --open-browser -b dirhtml -d {envdir}/doctrees docs {envdir}/html
checkdocs: sphinx-build -qTWn -b dirhtml -d {envdir}/doctrees docs {envdir}/html
coverage: -coverage combine
coverage: coverage report
dockercompose: docker-compose {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