POSA_Copyrighter/pytest.ini
changukyu bc14cd2177 chore: 단일 verify 게이트 신설 (pytest.ini + ruff.toml + verify.ps1)
린트와 테스트가 각각 수동 실행이었고, 어느 조합이 커밋 게이트인지 코드에
기록된 곳이 없었다. 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)
2026-08-08 09:47:57 +09:00

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