steam-backlog-enforcer/steam_backlog_enforcer/tests
Krzysztof kuhy Rudnicki 7ea3e9e734 Exempt itch.io from the total block
kuhy 2026-11-11: itch.io unblocked, only it. A named
TOTAL_BLOCK_EXEMPT_DOMAINS drops itch from the hosts section and
its IPs from iptables (the exception wins on shared Cloudflare
IPs). New root command total-block-refresh applies the list to a
live block: hosts first, then per-rule iptables deletes, no flush.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzxdWWzuCEg1m87jpKyRrw
2026-11-11 13:04:53 +01:00
..
__init__.py test: achieve 100% branch coverage across all python_pkg packages 2026-03-21 17:51:36 +01:00
_budget_dates.py budget: price the enforced budget by the 06:00 gaming day's leisure switch 2026-10-19 17:09:33 +02:00
_budget_earners.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_cmd_done_cases.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_cmd_playtime_patches.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_config_paths.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_ctl_fixtures.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
_desktop_launch_patches.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_enforce_loop_once.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_fake_proc.py Make serve re-runnable, and cover it to 100% 2026-08-29 18:52:11 +02:00
_fake_prompter.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
_fake_session.py playtime: shadow leisure billing (C4); /proc scan from leisure_watch 2026-10-19 12:37:01 +02:00
_fake_xlib.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_fast_install_excerpt.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_file_wake_timing.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_half_done_game.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_hltb_fake_transport.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
_hltb_leisure_runs.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_hltb_search_fakes.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_isolate_control_plane.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
_isolate_incidents.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_isolate_leisure.py budget: price the enforced budget by the 06:00 gaming day's leisure switch 2026-10-19 17:09:33 +02:00
_isolate_playtime.py playtime: shadow leisure billing (C4); /proc scan from leisure_watch 2026-10-19 12:37:01 +02:00
_isolate_reading.py budget: resolve gaming time from the shared earned_time registry 2026-10-04 19:01:27 +02:00
_isolate_shadow.py playtime: shadow leisure billing (C4); /proc scan from leisure_watch 2026-10-19 12:37:01 +02:00
_jobs_helpers.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
_ledger_fixtures.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_leisure_fake_proc.py leisure Phase 2 (dormant): bill, warn and kill on the leisure budget from go-live 2026-10-19 16:40:49 +02:00
_leisure_kill_world.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_main_dispatch_world.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_main_helpers.py Release a game after one new achievement instead of 100% completion 2026-09-26 16:46:03 +02:00
_main_patches.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_manual_pick_rows.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_no_approved_exceptions.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_no_fast_install.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_no_live_focus_project.py Pin earned-time v0.19.0, leisure-watch v0.2.4 2026-11-02 08:41:27 +01:00
_no_real_effects.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_no_subprocess.py Migrate steam-backlog-enforcer/web to Astro (no R… 2026-11-09 08:36:38 +01:00
_no_systemd_run.py restart safety: own scope for launched Steam, hold the day's budget, re-arm warnings after a raise 2026-10-04 19:14:20 +02:00
_no_workout_http.py playtime: shadow leisure billing (C4); /proc scan from leisure_watch 2026-10-19 12:37:01 +02:00
_piano_earner.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_pick_completion_helpers.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_playtime_history_files.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_polls_helpers.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_protondb_cache.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_scanning_games.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_stats_cmd_env.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_stats_games.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_total_block_paths.py Split total-block, playtime and MCP by responsibility 2026-08-23 20:52:08 +02:00
_web_dataset_factories.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_web_process_state.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
_web_request.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
_zero_ach.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
conftest.py Pin earned-time v0.19.0, leisure-watch v0.2.4 2026-11-02 08:41:27 +01:00
fast_install_log_excerpt.txt pick keeps already-picked games; fast install reports progress 2026-10-23 20:14:12 +02:00
test_achievement_skip.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_actions_abandon_manual_pick.py pick keeps already-picked games; fast install reports progress 2026-10-23 20:14:12 +02:00
test_actions_status_payload.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_actions.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_assignment_progress.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_atomic_write.py Show the gaming budget in the web UI 2026-08-29 07:17:42 +02:00
test_attribution_labels.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_backups.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_bonus_incident.py Desktop toasts paint glyphs and numbers only 2026-11-11 11:54:20 +01:00
test_budget_games.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_log_tail.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_resolve_leisure.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_resolve_reading.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_resolve.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_view_collection.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_budget_view_earners.py earned_time 0.5.0: per-day registry consumer (registry_for), pin v0.5.0 2026-10-09 21:13:12 +02:00
test_budget_view.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_done_hltb.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_done_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_gaming_unblock.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_playtime.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_serve.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_cmd_total_block_refresh.py Exempt itch.io from the total block 2026-11-11 13:04:53 +01:00
test_command_catalog.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_command_gate.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_command_params.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_config_interactive_setup.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_config.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_client.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_context.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_control.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_ops_privileged.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_ops.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_pending.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_protocol.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_reset_ops.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_restart.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_server_internals.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ctl_server.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_desktop_env.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_desktop_session_gating.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_desktop_user_cmd.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_do_enforce.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforce_demo.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforce_loop_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforce_loop_part3.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforce_loop.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforce_steps.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforcer_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_enforcer.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ensure_debug_port.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ensure_steam_running.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_exception_visibility.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_dashboard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_failure.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_guards.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_helpers.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_job_wait.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_progress.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_registry.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_fast_install_runs.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_file_wake_events.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_file_wake.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_first_credits.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_install_guard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_install_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_install_part3.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_install_queue.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_install.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_game_names.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_gaming_days.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_gaming_reset.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_auth_refresh.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_build_search_payload.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_confidence_failure_paths.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_confidence_helpers.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_detail_extract_comp100_avg_and_high.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_detail_fetch_leisure_times_save_interval.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_detail_fetch_leisure_times.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_detail_process_game_detail.py Grade against 3.14 too, not just run on it 2026-08-29 11:44:25 +02:00
test_hltb_detail.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_failure_reporting.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_fetch_hltb_detail_missing.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_pacing.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_part3.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_pick_best_hltb_entry_alias_exact_match_beats_spinoff.py Bring the HLTB modules under the 250-line cap 2026-08-24 15:23:13 +02:00
test_hltb_pick_best_hltb_entry.py pylint: clear the mechanical residue, the howlongtobeatpy 1.0.23 call, and three duplicate blocks 2026-09-12 20:31:27 +02:00
test_hltb_progress_cb.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_refetch_failure_keeps_cache.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search_batch_failures.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_search_extract_leisure_hours.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search_failure_keeps_cache.py HLTB rate limit (429) wipes confidence data in hl… 2026-11-09 08:02:55 +01:00
test_hltb_search_fetch_batch_hltb.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search_url_memo.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search_zero_comp_100_skipped.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb_search.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_hltb.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_itch_exception_hosts.py Exempt itch.io from the total block 2026-11-11 13:04:53 +01:00
test_itch_exception_iptables.py Exempt itch.io from the total block 2026-11-11 13:04:53 +01:00
test_jobs_control.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_daemon_jobs.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
test_jobs_events.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
test_jobs_job_io.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
test_jobs_prompter.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_registry.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_runner_parts.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_runner.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_spawn.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_specs_errors.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
test_jobs_store.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_jobs_view.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ledger_earners.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_ledger_units.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leetcode_bonus.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leetcode_ledger_errors.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leetcode_ledger.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leetcode_paid_day.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_kill_debounce.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_kill_start.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_kill_targets.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_kill.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_mode.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_never_kill.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_procs_identity.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_procs.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_leisure_tick.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_library_hider_ops.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_library_hider_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_library_hider.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_abandon.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_dispatch_extra_gaming.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_dispatch_extra.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_dispatch.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_done.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_entrypoint.py Split main.py (1076 lines) into a main/ package 2026-08-23 19:56:34 +02:00
test_main_gate.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_install_pick.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_install.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_misc_gating.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_misc.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_part2b.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_part2c.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_pick_cap.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_pick_keep.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_pick_manual_cascade.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_pick_manual.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_picks.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_shared.py Exempt itch.io from the total block 2026-11-11 13:04:53 +01:00
test_main_status_two_picks.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_main_status.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_mcp_actions.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_mcp_gaming_time.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_mcp.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_no_real_effects.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_own_pick.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_owned_apps_cache.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_owned_ids_cache_helpers.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_pacman.py Split total-block, playtime and MCP by responsibility 2026-08-23 20:52:08 +02:00
test_pick_completion_report.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_pick_completion.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_pick_keep.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_pick_manual_keep.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_block_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_block.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_cutoff_warn.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_cutoff.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_history_games.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_history.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_kill.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_log.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_notify.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_policy.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_proctree.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_rules_for.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_session.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime_tick.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_playtime.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking_backfill_polls_for_finished.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking_report_assigned_confidence.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking_report_poll_confidence_chosen_zero_polls_report_poll_confidence_chosen_equals_min.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking_report_poll_confidence_chosen_zero_polls.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_polls_tracking.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_prompter.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_protondb_fetch_batch.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_protondb_fetch_one.py Bring every test file under the 250-line cap 2026-08-24 14:16:08 +02:00
test_protondb.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_reading_bonus.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_release_lifecycle.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_remaining.py total block: two-unit countdown (2w 2d … 45s), ticking every second 2026-10-23 20:59:41 +02:00
test_scanning_assign_pick.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_cached_confidence_overlay_avoids_refetch.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_confidence_helpers_pick_next_shortest_candidate_no_echo_whe.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_confidence_helpers.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_part3.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_part4.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_pick_next_game_sequential.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_pick_next_game_unknown_hours.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_pick_next_game.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning_tampering_window.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_scanning.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_serve_guard_lifecycle.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_serve_guard_owner.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_serve_guard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_serve_stale.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_serve_startup.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_shadow_budget.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_shadow_guard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_shadow_log.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_shadow.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_cmd_stats_refilter_called_when_ensure_rush_data_re.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_cmd_stats.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_ensure_rush_data.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_print_player_speed_scenario.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_print_worst_example.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_refresh_recently_played_completions.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_sum_hours.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats_unplayable_rating_counts_linux_skipped.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_stats.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_status_api_stamp.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_status_kept_picks.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_api_scan_extras.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_api_steam_a_p_i_client.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_api.py Bring every test file under the 250-line cap 2026-08-24 14:16:08 +02:00
test_steam_launch_lifecycle.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_process_scope.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_restart_guard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_steam_restart.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_store_blocker_block_via_hosts_install.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_store_blocker_part2.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_store_blocker_unblock_store.py Bring every test file under the 250-line cap 2026-08-24 14:16:08 +02:00
test_store_blocker.py Bring every test file under the 250-line cap 2026-08-24 14:16:08 +02:00
test_store_window.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_textgate_toasts.py Desktop toasts paint glyphs and numbers only 2026-11-11 11:54:20 +01:00
test_total_block_hosts.py Split total-block, playtime and MCP by responsibility 2026-08-23 20:52:08 +02:00
test_total_block_iptables.py Exempt itch.io from the total block 2026-11-11 13:04:53 +01:00
test_total_block_lifecycle.py Split total-block, playtime and MCP by responsibility 2026-08-23 20:52:08 +02:00
test_total_block_purge.py playtime: shadow leisure billing (C4); /proc scan from leisure_watch 2026-10-19 12:37:01 +02:00
test_total_block_remnants.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_total_block.py Grade against 3.14 too, not just run on it 2026-08-29 11:44:25 +02:00
test_update_restart_guard.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_art.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_auth.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_build.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_daemon.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset_build_games.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset_compute_pace_vs_h_l_t_b_both_rush_and_leisure_interpolation_comp.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset_compute_pace_vs_h_l_t_b.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset_count_complete_since_start.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset_dataset_to_payload.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_dataset.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_errors.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_io.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_jobs.py Test: no local named like a 3.15 builtin 2026-11-11 12:31:44 +01:00
test_web_library.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_privileged.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_process.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_routes.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_server_routing.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_server_stale.py web control UI: all 24 commands in React, ctl.sock daemon, jobs, library browser; earned_time 0.7.0 2026-10-10 16:07:42 +02:00
test_web_server_static.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_server.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_setup.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_sse.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_web_views.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_whitelist_add_pending_exception.py Import split-out names from the modules that own them; drop the four lazy facades 2026-09-12 20:22:44 +02:00
test_whitelist_immutable_flag_is_append_audit_log.py Import split-out names from the modules that own them; drop the four lazy facades 2026-09-12 20:22:44 +02:00
test_whitelist_immutable_flag_is.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_whitelist.py Import split-out names from the modules that own them; drop the four lazy facades 2026-09-12 20:22:44 +02:00
test_workout_budget.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_zero_achievement_allowed.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00
test_zero_achievement_fail_closed.py Pylint gate covers tests, no suppressions 2026-11-11 12:17:07 +01:00