Clean up tox.ini (#8963)
... and disable coverage tracking for mypy and friends.
This commit is contained in:
parent
c9c1c9d82f
commit
f1db20b5a5
|
@ -0,0 +1 @@
|
||||||
|
Clean up tox.ini file; disable coverage checking for non-test runs.
|
5
mypy.ini
5
mypy.ini
|
@ -7,6 +7,11 @@ show_error_codes = True
|
||||||
show_traceback = True
|
show_traceback = True
|
||||||
mypy_path = stubs
|
mypy_path = stubs
|
||||||
warn_unreachable = True
|
warn_unreachable = True
|
||||||
|
|
||||||
|
# To find all folders that pass mypy you run:
|
||||||
|
#
|
||||||
|
# find synapse/* -type d -not -name __pycache__ -exec bash -c "mypy '{}' > /dev/null" \; -print
|
||||||
|
|
||||||
files =
|
files =
|
||||||
scripts-dev/sign_json,
|
scripts-dev/sign_json,
|
||||||
synapse/api,
|
synapse/api,
|
||||||
|
|
47
tox.ini
47
tox.ini
|
@ -7,7 +7,9 @@ deps =
|
||||||
python-subunit
|
python-subunit
|
||||||
junitxml
|
junitxml
|
||||||
coverage
|
coverage
|
||||||
coverage-enable-subprocess
|
|
||||||
|
# this is pinned since it's a bit of an obscure package.
|
||||||
|
coverage-enable-subprocess==1.0
|
||||||
|
|
||||||
# cyptography 2.2 requires setuptools >= 18.5
|
# cyptography 2.2 requires setuptools >= 18.5
|
||||||
#
|
#
|
||||||
|
@ -23,29 +25,37 @@ deps =
|
||||||
# install the "enum34" dependency of cryptography.
|
# install the "enum34" dependency of cryptography.
|
||||||
pip>=10
|
pip>=10
|
||||||
|
|
||||||
setenv =
|
|
||||||
PYTHONDONTWRITEBYTECODE = no_byte_code
|
|
||||||
COVERAGE_PROCESS_START = {toxinidir}/.coveragerc
|
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
deps =
|
deps =
|
||||||
{[base]deps}
|
{[base]deps}
|
||||||
extras = all, test
|
extras = all, test
|
||||||
|
|
||||||
whitelist_externals =
|
|
||||||
sh
|
|
||||||
|
|
||||||
setenv =
|
setenv =
|
||||||
{[base]setenv}
|
# use a postgres db for tox environments with "-postgres" in the name
|
||||||
|
# (see https://tox.readthedocs.io/en/3.20.1/config.html#factors-and-factor-conditional-settings)
|
||||||
postgres: SYNAPSE_POSTGRES = 1
|
postgres: SYNAPSE_POSTGRES = 1
|
||||||
|
|
||||||
|
# this is used by .coveragerc to refer to the top of our tree.
|
||||||
TOP={toxinidir}
|
TOP={toxinidir}
|
||||||
|
|
||||||
passenv = *
|
passenv = *
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
/usr/bin/find "{toxinidir}" -name '*.pyc' -delete
|
# the "env" invocation enables coverage checking for sub-processes. This is
|
||||||
# Add this so that coverage will run on subprocesses
|
# particularly important when running trial with `-j`, since that will make
|
||||||
{envbindir}/coverage run "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}
|
# it run tests in a subprocess, whose coverage would otherwise not be
|
||||||
|
# tracked. (It also makes an explicit `coverage run` command redundant.)
|
||||||
|
#
|
||||||
|
# (See https://coverage.readthedocs.io/en/coverage-5.3/subprocess.html.
|
||||||
|
# Note that the `coverage.process_startup()` call is done by
|
||||||
|
# `coverage-enable-subprocess`.)
|
||||||
|
#
|
||||||
|
# we use "env" rather than putting a value in `setenv` so that it is not
|
||||||
|
# inherited by other tox environments.
|
||||||
|
#
|
||||||
|
# keep this in sync with the copy in `testenv:py35-old`.
|
||||||
|
#
|
||||||
|
/usr/bin/env COVERAGE_PROCESS_START={toxinidir}/.coveragerc "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}
|
||||||
|
|
||||||
# As of twisted 16.4, trial tries to import the tests as a package (previously
|
# As of twisted 16.4, trial tries to import the tests as a package (previously
|
||||||
# it loaded the files explicitly), which means they need to be on the
|
# it loaded the files explicitly), which means they need to be on the
|
||||||
|
@ -80,10 +90,9 @@ deps =
|
||||||
|
|
||||||
lxml
|
lxml
|
||||||
coverage
|
coverage
|
||||||
coverage-enable-subprocess
|
coverage-enable-subprocess==1.0
|
||||||
|
|
||||||
commands =
|
commands =
|
||||||
/usr/bin/find "{toxinidir}" -name '*.pyc' -delete
|
|
||||||
# Make all greater-thans equals so we test the oldest version of our direct
|
# Make all greater-thans equals so we test the oldest version of our direct
|
||||||
# dependencies, but make the pyopenssl 17.0, which can work against an
|
# dependencies, but make the pyopenssl 17.0, which can work against an
|
||||||
# OpenSSL 1.1 compiled cryptography (as older ones don't compile on Travis).
|
# OpenSSL 1.1 compiled cryptography (as older ones don't compile on Travis).
|
||||||
|
@ -92,7 +101,11 @@ commands =
|
||||||
# Install Synapse itself. This won't update any libraries.
|
# Install Synapse itself. This won't update any libraries.
|
||||||
pip install -e ".[test]"
|
pip install -e ".[test]"
|
||||||
|
|
||||||
{envbindir}/coverage run "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}
|
# we have to duplicate the command from `testenv` rather than refer to it
|
||||||
|
# as `{[testenv]commands}`, because we run on ubuntu xenial, which has
|
||||||
|
# tox 2.3.1, and https://github.com/tox-dev/tox/issues/208.
|
||||||
|
#
|
||||||
|
/usr/bin/env COVERAGE_PROCESS_START={toxinidir}/.coveragerc "{envbindir}/trial" {env:TRIAL_FLAGS:} {posargs:tests} {env:TOXSUFFIX:}
|
||||||
|
|
||||||
[testenv:benchmark]
|
[testenv:benchmark]
|
||||||
deps =
|
deps =
|
||||||
|
@ -157,7 +170,3 @@ deps =
|
||||||
{[base]deps}
|
{[base]deps}
|
||||||
extras = all,mypy
|
extras = all,mypy
|
||||||
commands = mypy
|
commands = mypy
|
||||||
|
|
||||||
# To find all folders that pass mypy you run:
|
|
||||||
#
|
|
||||||
# find synapse/* -type d -not -name __pycache__ -exec bash -c "mypy '{}' > /dev/null" \; -print
|
|
||||||
|
|
Loading…
Reference in New Issue