tests/test_example_postgres_session_store.py: sync tests depend on async fixtures, so the module errors at setup on pytest 9
tests/test_example_postgres_session_store.py has two synchronous tests that take async fixtures: test_store_implements_required_methods (line 145, fixture store) and test_rejects_unsafe_table_name (line 154, fixture pool). pytest deprecated a sync test depending on an async fixture in 8.4 and made it an error in 9.0, and the dev extra pins pytest>=7.0.0 with no ceiling, so a fresh pip install -e ".[dev,examples]" resolves pytest 9.1.1 today.
Repro (v0.2.152, Python 3.11, live Postgres at SESSION_STORE_POSTGRES_URL):
pip install -e ".[dev,examples]" # pytest 9.1.1
python -m pytest tests/test_example_postgres_session_store.py -q
# 1 passed, 4 errors: "requested an async fixture 'pool', with no plugin or hook that handled it"
pip install "pytest<8.4" # pytest 8.3.5
python -m pytest tests/test_example_postgres_session_store.py -q
# 4 passed, 1 failed: test_store_implements_required_methods
# AssertionError: assert False, where False = _store_implements(<coroutine object store>, 'append')At 8.3.5 the sync test receives the async store fixture as an un-awaited coroutine, so that one test fails at any pytest version; the other four, including test_conformance against the live adapter, pass. The adapter itself is fine.
CI doesn't see this: asyncpg is in the examples extra, the test workflow installs .[dev], and the module importorskips asyncpg, so it has skipped on every CI run.
Source: anthropics/claude-agent-sdk-python