Context
Examples are public teaching material and many have their own tests, but the standard pytest config only collects tests/. That means example-specific tests can silently rot unless someone remembers to run them manually.
Evidence
pyproject.toml sets testpaths = ["tests"].
find examples -maxdepth 2 -type f -name 'test_*.py' | wc -l reports 26 example test files.
tests/test_examples.py only smoke-runs a curated list of run.py examples and explicitly says output correctness is not checked.
- Many
app.py examples have colocated tests under examples/*/test_*.py that are outside make test and make test-cov.
Proposed Scope
- Add a
make test-examples target and decide whether it belongs in verify-stability.
- Update CI to run example tests, or move example tests into
tests/examples/ if that is the intended collection model.
- Keep optional-dependency examples isolated with skips/importorskip where needed.
Done When
- Example tests run in an explicit documented gate.
- New examples have a clear testing convention.
examples/README.md, tests/test_examples.py, and CI agree on what is runnable.
Context
Examples are public teaching material and many have their own tests, but the standard pytest config only collects
tests/. That means example-specific tests can silently rot unless someone remembers to run them manually.Evidence
pyproject.tomlsetstestpaths = ["tests"].find examples -maxdepth 2 -type f -name 'test_*.py' | wc -lreports 26 example test files.tests/test_examples.pyonly smoke-runs a curated list ofrun.pyexamples and explicitly says output correctness is not checked.app.pyexamples have colocated tests underexamples/*/test_*.pythat are outsidemake testandmake test-cov.Proposed Scope
make test-examplestarget and decide whether it belongs inverify-stability.tests/examples/if that is the intended collection model.Done When
examples/README.md,tests/test_examples.py, and CI agree on what is runnable.