Skip to content

Commit

Permalink
Add a config for pytest (#680)
Browse files Browse the repository at this point in the history
  • Loading branch information
webknjaz authored Nov 5, 2021
1 parent fba75a1 commit b09d170
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 1 deletion.
87 changes: 87 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -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
1 change: 1 addition & 0 deletions requirements-testing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down

0 comments on commit b09d170

Please sign in to comment.