-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpytest.ini
More file actions
39 lines (35 loc) · 2.16 KB
/
pytest.ini
File metadata and controls
39 lines (35 loc) · 2.16 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
30
31
32
33
34
35
36
37
38
39
[pytest]
testpaths = tests harness/tests
asyncio_mode = auto
asyncio_default_fixture_loop_scope = function
pythonpath = .
# Custom markers for special test categories
markers =
gui: GUI headless browser tests (require Playwright browsers)
e2e: End-to-end tests wiring harness CLI to server API (slower, isolated)
benchmark: Performance regression benchmarks (run in nightly CI only)
# Network hermeticity: Block external network access by default via pytest-socket
# Only loopback/localhost connections are allowed for TestClient/ASGI tests
# GUI and E2E tests that need real localhost sockets opt in via marker
# This policy does NOT apply to tasks/* suites (excluded via testpaths)
# Coverage configuration
# Note: GUI and E2E tests are excluded by default:
# - GUI tests require Playwright browsers: pytest -m gui tests/test_gui_smoke.py
# - E2E tests are slower and test full integration: pytest -m e2e tests/test_harness_server_e2e.py
addopts = --cov=server --cov=harness --cov-report=term-missing --cov-report=html --cov-report=xml --junit-xml=junit.xml --cov-fail-under=24 -m "not gui and not e2e and not benchmark" --allow-hosts=127.0.0.1,::1,localhost
# Baseline set to 24% to match current coverage for brownfield project
# This prevents coverage regression while allowing incremental improvement
# Coverage will be tracked in htmlcov/ directory
# JUnit XML report will be generated for CI artifact upload and PR annotations
# Coverage XML report will be generated for advanced coverage analysis in CI
# Warning filters - CI adds stricter filters via -W flags
# Local development allows warnings to pass through while CI is strict
# CI enforces: -W error::DeprecationWarning -W error::PendingDeprecationWarning -W error::RuntimeWarning -W error::ResourceWarning
filterwarnings =
# Ignore specific third-party library warnings that we cannot fix
# Add new entries here with justification when whitelisting unavoidable warnings
# Format: ignore::WarningType:module_pattern:line_number
#
# Example (uncomment if needed):
# ignore::DeprecationWarning:some_third_party_lib.*
ignore:jsonschema\.exceptions\.RefResolutionError is deprecated.*:DeprecationWarning