Split Redis and MinIO container fixtures out of the shared tests/integration/conftest.py into per-backend subdirectories (redis/, minio/, examples/)
Running pytest tests/integration/redis/ or tests/integration/minio/ now only imports and starts the container that backend needs
Added needs_redis and needs_minio markers for backend-specific filtering
Updated README with scoped integration test commands
Details
tests/integration/conftest.py now only holds shared configure_logging
Container lifecycle lives in backend-specific _containers.py helpers with reference-counted session singletons, so the full integration suite still starts each container once
examples/conftest.py reuses both backends via thin fixture wrappers (pytest 9 no longer allows pytest_plugins in non-top-level conftest files)
Test plan
uv run pytest tests/integration/redis/ -v
uv run pytest tests/integration/minio/ -v
uv run pytest -m integration -v
uv run pytest tests/unit/ -m "not integration" -v
## Summary
- Split Redis and MinIO container fixtures out of the shared `tests/integration/conftest.py` into per-backend subdirectories (`redis/`, `minio/`, `examples/`)
- Running `pytest tests/integration/redis/` or `tests/integration/minio/` now only imports and starts the container that backend needs
- Added `needs_redis` and `needs_minio` markers for backend-specific filtering
- Updated README with scoped integration test commands
## Details
- `tests/integration/conftest.py` now only holds shared `configure_logging`
- Container lifecycle lives in backend-specific `_containers.py` helpers with reference-counted session singletons, so the full integration suite still starts each container once
- `examples/conftest.py` reuses both backends via thin fixture wrappers (pytest 9 no longer allows `pytest_plugins` in non-top-level conftest files)
## Test plan
- [x] `uv run pytest tests/integration/redis/ -v`
- [x] `uv run pytest tests/integration/minio/ -v`
- [x] `uv run pytest -m integration -v`
- [x] `uv run pytest tests/unit/ -m "not integration" -v`
Split Redis and MinIO container setup into backend-specific conftest modules so only the containers needed for collected tests are imported and started.
Co-authored-by: Cursor <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
tests/integration/conftest.pyinto per-backend subdirectories (redis/,minio/,examples/)pytest tests/integration/redis/ortests/integration/minio/now only imports and starts the container that backend needsneeds_redisandneeds_miniomarkers for backend-specific filteringDetails
tests/integration/conftest.pynow only holds sharedconfigure_logging_containers.pyhelpers with reference-counted session singletons, so the full integration suite still starts each container onceexamples/conftest.pyreuses both backends via thin fixture wrappers (pytest 9 no longer allowspytest_pluginsin non-top-level conftest files)Test plan
uv run pytest tests/integration/redis/ -vuv run pytest tests/integration/minio/ -vuv run pytest -m integration -vuv run pytest tests/unit/ -m "not integration" -vTest Coverage Report: