testsAndMisc/linux_configuration/tests
Krzysztof kuhy Rudnicki a5209b6878 Extract phone_focus_mode together with focus_policy
github.com/kuhyx/phone-focus-mode

The two halves go as one repo: focus_policy parses phone_focus_mode's
config.sh into the typed policy that focus-owner consumes, and nothing
else references it. 77 commits of history, plus the two Python suites
from linux_configuration/tests/ and the six mutation fixtures from
meta/scripts/fixtures/, all of which named phone_focus_mode paths.

Running the suites -- not reading them -- turned up a real defect the
extraction would otherwise have inherited. config.sh sources the
untracked config_secrets.sh, and ctl_libs_harness.sh never pinned
HOME_LAT/HOME_LON, so the distance assertions were checking against
whatever real coordinates that file happened to hold. The suite passed on
this machine and could not run anywhere else, and a real home location
was load-bearing in a pass/fail condition. The harness now pins a pair
4300 m south of the coordinate its own case seeds, and config.sh sources
the secrets file only when it exists. 136/136 pass with no secrets file
present.

Before making the repo public I scanned the whole history for the known
home coordinates and for any committed config_secrets.sh: zero hits, and
the file was never tracked. The new repo also gained a .gitignore, since
none came across in the filter-repo pass.

test_magisk_service.sh hangs. It hangs identically in the pre-extraction
baseline worktree and appears in no CI list here, so the new repo's CI
skips it with that reason rather than pretending it passes.

check_python_location.sh loses its phone_focus_mode exception now that
the directory is gone; every tracked .py still passes it. The .gitignore
rules for config_secrets.sh and the keystore STAY -- the working copy is
still on this machine and still holds a real location.

Depth 262 -> 248.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
2026-08-23 18:32:58 +02:00
..
lib pacman tests: follow the wrapper split so Shell tests goes green 2026-08-21 16:25:15 +02:00
__init__.py Harden runtime script deployment and enforce installer safety 2026-05-08 17:44:22 +02:00
conftest.py Extract phone_focus_mode together with focus_policy 2026-08-23 18:32:58 +02:00
test_fast_count.py refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +02:00
test_hosts_guard_pacman_integration.sh pacman tests: follow the wrapper split so Shell tests goes green 2026-08-21 16:25:15 +02:00
test_i3blocks_efficiency.sh Split the last two over-cap shell test suites 2026-08-16 22:27:44 +02:00
test_i3blocks_persist_common.sh feat(digital-wellbeing): time-boxed shutdown overrides + drift-proof i3blocks deploy 2026-07-10 21:57:05 +02:00
test_makepkg_capped.sh Run Arch-only shell tests in a container; harden worktree stubbing 2026-07-19 19:27:36 +02:00
test_makepkg_wrapper.sh fix(pacman): wrap makepkg so an orphaned db.lck can't hang makepkg -i 2026-07-17 07:46:31 +02:00
test_music_parallelism.sh Split music_parallelism.sh into an entry script and three libs 2026-08-16 21:50:34 +02:00
test_network_diagnostics.bats Add network diagnostics: duty-cycle and line-speed probes 2026-07-19 18:46:18 +02:00
test_pacman_wrapper_security.sh pacman tests: follow the wrapper split so Shell tests goes green 2026-08-21 16:25:15 +02:00
test_security_hardening.sh Split test_security_hardening.sh; finish the mutation-driver split 2026-08-16 22:24:02 +02:00
test_session_autopsy_hooks.py Point the hook test at the extracted session_autopsy, add the artifacts 2026-07-26 20:50:44 +02:00
test_setup_dns_blocker.sh feat: add Pi-hole-like LAN DNS blocking served from the PC (dnsmasq) 2026-07-10 19:02:46 +02:00
test_shutdown_timer_monitor.sh Extract system-maintenance, the isolated subsystem 2026-08-23 17:55:29 +02:00
test_transcribe_diarize_audio.py _transcribe_diarize: split 356 -> 164 + 143 + 105 2026-08-17 13:59:39 +02:00
test_transcribe_diarize_classifier.py _transcribe_diarize: cover 0% -> 100% before splitting 2026-08-17 13:54:04 +02:00
test_transcribe_diarize_cluster.py _transcribe_diarize: split 356 -> 164 + 143 + 105 2026-08-17 13:59:39 +02:00
test_transcribe_diarize_pipeline.py _transcribe_diarize: cover 0% -> 100% before splitting 2026-08-17 13:54:04 +02:00
test_transcribe_diarize_probe.py _transcribe_diarize: split 356 -> 164 + 143 + 105 2026-08-17 13:59:39 +02:00
test_transcribe_diarize_segments.py _transcribe_diarize: cover 0% -> 100% before splitting 2026-08-17 13:54:04 +02:00
test_transcribe_fw_main.py transcribe_fw: cover 0% -> 100% before splitting 2026-08-17 13:40:47 +02:00
test_transcribe_fw_pipeline.py transcribe_fw: cover 0% -> 100% before splitting 2026-08-17 13:40:47 +02:00
test_transcribe_fw_progress.py transcribe_fw: split 302 -> 236 + 91 2026-08-17 13:43:49 +02:00
test_transcribe_helpers_cli.py transcribe_helpers: cover 0% -> 100% before splitting 2026-08-17 13:29:07 +02:00
test_transcribe_model_ops.py transcribe_helpers: split 289 -> 177 + 142 2026-08-17 13:33:38 +02:00
test_transcribe_probes.py transcribe_helpers: split 289 -> 177 + 142 2026-08-17 13:33:38 +02:00
test_transcribe_wav.py transcribe_helpers: split 289 -> 177 + 142 2026-08-17 13:33:38 +02:00
test_validate_contract.py refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +02:00
test_validate_evidence.py refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +02:00