testsAndMisc/linux_configuration/tests
Krzysztof kuhy Rudnicki fe8629e104 Extract android_guardian; heavy_job_lock goes to its installer
github.com/kuhyx/android-guardian, cloned to ~/android-guardian

periodic_background/utils/ held two unrelated things: the Magisk module
and heavy_job_lock.sh. Only the module was a unit, so the directory is
split rather than moved.

heavy_job_lock.sh goes to digital_wellbeing/, NOT to ~/utils. Measured
rather than assumed: of its consumers only install_pacman_wrapper.sh
reads the repo copy, while pacman_wrapper.sh, makepkg_capped.sh and
meta/scripts/run_with_heavy_lock.sh all read the installed
/usr/local/bin copy. A library belongs with whoever installs it, and
exporting it would have added a cross-repo edge for one caller.

Fixed a bug that predates the extraction: update_android_hosts.sh set
GUARDIAN_MODULE_DIR to "$SCRIPT_DIR/android_guardian", a sibling that
never existed at that path -- packaging could not have worked from this
checkout at all. It now reads ${ANDROID_GUARDIAN_DIR:-~/android-guardian}
and require_guardian_module() gates build_module(), the single funnel
every packaging path goes through, so a missing checkout names the clone
command instead of failing inside a cp four helpers deep.

Verified both directions: with no checkout the guard fires with
instructions; with one, the module builds -- 182331 blocked domains, a
1.1 MB zip. The subsequent adb push failed on device-side storage, which
this commit does not touch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PJrqKERAo5QUeEHWS5Asgp
2026-08-23 18:00: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 system-maintenance, the isolated subsystem 2026-08-23 17:55:29 +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_monitor_report.py refactor: extract all inline Python from shell scripts into proper .py files 2026-06-06 10:31:48 +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_strip_workout_hosts.py Make focus policy and blocklist usable without root; fix workout CDN unblock 2026-08-05 09:15:02 +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