test(ci): scope pytest timeout to test bodies, not fixture setup
Why: - Testcontainers' session-scoped container startup (~25s on a cold Docker cache) was charged against the global 10s pytest-timeout budget, causing every integration test to fail regardless of its own runtime. Changes: - Set timeout_func_only = true so the budget applies to the test function only, not fixture setup.
This commit is contained in:
@@ -37,6 +37,11 @@ dev = [
|
||||
testpaths = ["tests"]
|
||||
asyncio_mode = "strict"
|
||||
timeout = 10
|
||||
# Bound the test function only, not fixture setup. Testcontainers' container
|
||||
# startup is charged to whichever test first pulls a session-scoped container
|
||||
# fixture; on a cold Docker cache that is ~25s and would trip the 10s budget
|
||||
# for every integration test, regardless of how fast the test itself is.
|
||||
timeout_func_only = true
|
||||
markers = [
|
||||
"unit: fast tests with no external services",
|
||||
"integration: tests against a real disposable service",
|
||||
|
||||
Reference in New Issue
Block a user