steam-backlog-enforcer/steam_backlog_enforcer/tests
Krzysztof kuhy Rudnicki 694b9409ab perf(pre-commit): batch+parallelize pytest on commit; kill 15s sleeps in steam_backlog_enforcer tests
- meta/.pre-commit-config.yaml: move pytest-coverage hook to pre-commit stage
- scripts/pytest_changed_packages.py: single batched pytest -n auto invocation
  with one --cov flag per affected python_pkg subpackage, wrapped in
  systemd-run --user --scope -p MemoryMax=4G -p MemorySwapMax=0 when available
- python_pkg/steam_backlog_enforcer/tests/conftest.py: new autouse
  _no_real_sleep fixture patches time.sleep across game_install /
  library_hider / steam_api / _enforce_loop. Removes 3x 15s real sleeps
  in TestFinalizeCompletion that fired through _ensure_steam_running

steam_backlog_enforcer test wall time: 33.97s -> 5.61s (xdist, no-cov)
5-package batched run: 732 tests in 1.37s @ 668% CPU
Coverage stays at 100% on all affected packages.

Evidence: docs/superpowers/evidence/pre-commit-pytest-batch-2026-05-14.json
2026-05-14 21:52:52 +02:00
..
__init__.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00
conftest.py perf(pre-commit): batch+parallelize pytest on commit; kill 15s sleeps in steam_backlog_enforcer tests 2026-05-14 21:52:52 +02:00
test_cmd_done.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_config.py fix(steam_backlog_enforcer): prevent enforce daemon from deleting assigned game 2026-03-25 19:19:52 +01:00
test_enforce_loop.py steam_backlog_enforcer: reduce repeated cache refetches 2026-05-08 15:13:25 +02:00
test_enforcer.py Harden runtime script deployment and enforce installer safety 2026-05-08 17:44:22 +02:00
test_game_install_part2.py Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00
test_game_install.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_hltb_detail.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_hltb_part2.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_hltb_part3.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00
test_hltb_search.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_hltb.py chore: optimize pre-commit, remove tracked binaries, fix lint issues 2026-04-10 18:48:37 +02:00
test_library_hider_part2.py chore: optimize pre-commit, remove tracked binaries, fix lint issues 2026-04-10 18:48:37 +02:00
test_library_hider.py chore: optimize pre-commit, remove tracked binaries, fix lint issues 2026-04-10 18:48:37 +02:00
test_main_part2.py steam_backlog_enforcer: retry install after library hide restart 2026-05-08 14:56:46 +02:00
test_main.py refactor: split oversized SBE modules, extend screen locker, and enhance Horatio demo 2026-03-29 22:50:24 +02:00
test_polls_tracking.py Apply focus-mode, screen-locker, and steam backlog updates 2026-05-03 22:41:53 +02:00
test_protondb.py fix: remove dead code in unplayable_reason; add coverage for playable path 2026-05-08 20:35:55 +02:00
test_scanning_part2.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00
test_scanning.py fix: accept ProtonDB gold+silver combinations; add explicit skip reasons 2026-05-08 20:31:16 +02:00
test_steam_api.py Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00
test_store_blocker_part2.py Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00
test_store_blocker.py Reduce per-file-ignores by fixing lint violations across codebase 2026-03-25 18:58:05 +01:00