린트와 테스트가 각각 수동 실행이었고, 어느 조합이 커밋 게이트인지 코드에 기록된 곳이 없었다. ruff 는 dev 의존성에도 없어 전역 환경에서만 돌고 있었다. - verify.ps1: ruff -> pytest 순서로 도는 단일 명령. -SkipLint / -Coverage - pytest.ini: testpaths, pythonpath(. src) 로 맨 pytest 도 동작, 300s 행 가드 - ruff.toml: py313 / line-length 120 / 기본 룰셋 명시 (ruff 업그레이드가 게이트를 조용히 넓히거나 좁히지 못하게) - requirements-dev.txt 에 ruff==0.12.0 핀 린트 18건 정리 (전부 무해하지만 게이트가 통과해야 하므로): - env_clients.py / store_enrichment.py: logger 정의를 임포트 아래로 (E402 15건) - test_sqlite_store.py: lambda 할당 -> def (E731 2건) - test_store_workflow.py: 미사용 임포트 제거 (F401)
15 lines
643 B
INI
15 lines
643 B
INI
[pytest]
|
|
testpaths = tests
|
|
|
|
# `tests.rights_filter.server.test_sqlite_store` is imported by sibling specs for
|
|
# shared fakes, and every module under test lives in src/. Declaring both here
|
|
# means bare `pytest` works; without it only `python -m pytest` did (that form
|
|
# puts the CWD on sys.path as a side effect, which is easy to get wrong in CI).
|
|
pythonpath = . src
|
|
|
|
# Hang guard, not a performance budget. The slowest single spec (browser upload
|
|
# + real analysis) runs well under a minute; this only fires when something
|
|
# deadlocks, so an unattended `verify` run fails instead of hanging forever.
|
|
timeout = 300
|
|
|
|
addopts = --strict-markers
|