Add a config for pytest (#680)

This commit is contained in:
Sviatoslav Sydorenko 2021-11-05 22:09:33 +01:00 committed by GitHub
parent fba75a1a72
commit b09d170ada
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 89 additions and 1 deletions

87
pytest.ini Normal file
View File

@ -0,0 +1,87 @@
[pytest]
addopts =
# FIXME: Enable this once the test suite has no race conditions
# `pytest-xdist`:
# --numprocesses=auto
# Show 10 slowest invocations:
--durations=10
# A bit of verbosity doesn't hurt:
-v
# Report all the things == -rxXs:
-ra
# Show values of the local vars in errors/tracebacks:
--showlocals
# Autocollect and invoke the doctests from all modules:
# https://docs.pytest.org/en/stable/doctest.html
--doctest-modules
# Dump the test results in junit format:
--junitxml=.tox/tmp/test-results/pytest/results.xml
# Fail on config parsing warnings:
--strict-config
# Fail on non-existing markers:
# * Deprecated since v6.2.0 but may be reintroduced later covering a
# broader scope:
# --strict
# * Exists since v4.5.0 (advised to be used instead of `--strict`):
--strict-markers
# `pytest-cov`:
# `pytest-cov`, "-p" preloads the module early:
-p pytest_cov
--no-cov-on-fail
--cov=proxy
--cov=tests/
--cov-branch
--cov-report=term-missing:skip-covered
--cov-report=html:.tox/tmp/test-results/pytest/cov/
--cov-report=xml
--cov-context=test
--cov-config=.coveragerc
doctest_optionflags = ALLOW_UNICODE ELLIPSIS
# Marks tests with an empty parameterset as xfail(run=False)
empty_parameter_set_mark = xfail
faulthandler_timeout = 30
filterwarnings =
error
junit_duration_report = call
# xunit1 contains more metadata than xunit2 so it's better for CI UIs:
junit_family = xunit1
junit_logging = all
junit_log_passing_tests = true
junit_suite_name = proxy_py_test_suite
# A mapping of markers to their descriptions allowed in strict mode:
markers =
minversion = 6.2.0
# Optimize pytest's lookup by restricting potentially deep dir tree scan:
norecursedirs =
build
dist
docs
examples
proxy.egg-info
.cache
.eggs
.git
.github
.tox
*.egg
testpaths = tests/
xfail_strict = true

View File

@ -4,6 +4,7 @@ coverage==6.1.1
flake8==4.0.1
pytest==6.2.5
pytest-cov==3.0.0
pytest-xdist == 2.4.0
autopep8==1.6.0
mypy==0.910
py-spy==0.3.10

View File

@ -11,7 +11,7 @@ deps =
# NOTE: `{envpython} -m pytest` because it'd add CWD into $PYTHONPATH
# NOTE: testing the project from the Git checkout
# NOTE: rather than one installed.
commands = pytest --cov=proxy --cov=tests/ --cov-report=xml tests/ {posargs:}
commands = pytest {posargs:}
[dists]