Repository navigation
Expand file tree
/
Copy pathpytest.ini
More file actions
29 lines (29 loc) · 1.63 KB
/
Copy pathpytest.ini
File metadata and controls
29 lines (29 loc) · 1.63 KB
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
[pytest]
# Configuration only -- deliberately not a pyproject.toml. This repo has no
# package, no build step and no installer (see CONTRIBUTING.md); the suite runs
# via `uv run --with pytest ... pytest`, which installs nothing into any global
# environment. A pyproject.toml would read as packaging the collection, which is
# a bigger change than adding tests.
#
# `pythonpath` puts the repo root on sys.path so `import bdutils` resolves the
# way it does in real use -- Python puts a script's own directory on sys.path[0]
# when it runs, which is how the sibling-module import works with no install.
# `tests` is on the path too so test modules can share helpers via conftest.
pythonpath = . tests
testpaths = tests
# -ra names any non-passing outcome (skip, xfail, xpass) in the summary rather
# than leaving it as a bare `s`/`x` in the progress line, which reads like
# something went wrong while saying nothing about what.
#
# The corollary, and the rule for this suite: a *passing* run prints no summary
# at all. Nothing here is marked xfail — a known defect is pinned by asserting
# the behavior it actually has, so the run stays silent and the test fails
# loudly (with instructions) the day the defect is fixed. A permanent warning
# on every green run just teaches everyone to skip past the summary.
#
# So the only summary lines you should ever see are the three skips from
# `make test-minimal`, where bd-view's optional `rich` is deliberately absent.
addopts = -q -ra --strict-markers
markers =
e2e: runs a script as a real subprocess against a fake 'bd' (slower)
makefile: invokes `make` itself (needs make on PATH; never recurses into this suite)