testsAndMisc/meta/shell-coverage-allowlist.txt
Krzysztof kuhy Rudnicki d42d8ff20d
Some checks are pending
Pre-commit checks / pre-commit (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
Shrink the shell-coverage allowlist 115 -> 106: cover scripts/lib
Gives linux_configuration/scripts/lib a real test suite, which takes all
nine of its libraries off meta/shell-coverage-allowlist.txt at once —
coverage is per-directory, so this is the highest-ratio first batch.

139 assertions across four suites, all offline: the mtk toolkit is driven
through its existing MTK_ROOT_FIXTURE seam, and adb is shimmed onto a
narrowed PATH. Nothing reads the wall clock, this host's udev rules, or a
real device, because the suite runs in shell-tests.yml and again on every
pre-push via ci-mirror — a host-dependent assertion would be a flake that
blocks unrelated pushes.

The gate only checks that tests/run_all.sh EXISTS, so an empty one would
mark all nine libraries covered while testing nothing. Each of the four
load-bearing rules was therefore mutation-tested and the suite required to
go red: classify_device's && -> ||, discover_partitions' init_boot/boot
ordering, mtk_select_device's refusal to guess between two phones, and
is_hour_in_range's 10#$ octal guard.

That last one initially SURVIVED. Dropping 10#$ makes bash abort with
"value too great for base", a non-zero exit indistinguishable from an
honest out-of-range result, so the status-only assertion passed either
way. It now asserts stderr is empty.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 23:52:09 +02:00

120 lines
7.4 KiB
Plaintext

# Shell libraries that predate the coverage ratchet.
#
# Each line is a file exempt from check_shell_coverage.sh. The exemption
# is static: editing one of these files is fine and does not require
# tests. An entry goes away when its lib/ directory gains a
# tests/run_all.sh, at which point every file in that directory is
# enforced.
#
# This list only ever shrinks. Never add a path to it by hand -- a new
# library must ship with its tests.
#
# Regenerate (only ever to REMOVE now-covered entries):
# bash meta/scripts/check_shell_coverage.sh --seed
linux_configuration/.githooks/lib/common.sh
linux_configuration/scripts/meta/lib/shell_check_discover.sh
linux_configuration/scripts/meta/lib/shell_check_install.sh
linux_configuration/scripts/meta/lib/shell_check_lint.sh
linux_configuration/scripts/mtk_root/lib/dump_partitions.sh
linux_configuration/scripts/mtk_root/lib/dump_verify.sh
linux_configuration/scripts/mtk_root/lib/mtk_udev.sh
linux_configuration/scripts/mtk_root/lib/recon_report.sh
linux_configuration/scripts/periodic_background/digital_wellbeing/pacman/lib/install_files.sh
linux_configuration/scripts/periodic_background/digital_wellbeing/pacman/lib/integrity.sh
linux_configuration/scripts/periodic_background/digital_wellbeing/pacman/lib/managed_copy.sh
linux_configuration/scripts/periodic_background/digital_wellbeing/pacman/lib/protect_and_extras.sh
linux_configuration/scripts/periodic_background/digital_wellbeing/virtualbox/lib/vbox_disk_inject.sh
linux_configuration/scripts/periodic_background/system-maintenance/bin/lib/catchup_timer.sh
linux_configuration/scripts/periodic_background/system-maintenance/bin/lib/distro_detect.sh
linux_configuration/scripts/periodic_background/system-maintenance/bin/lib/nvidia_pmon.sh
linux_configuration/scripts/periodic_background/system-maintenance/bin/lib/packages.sh
linux_configuration/scripts/periodic_background/system-maintenance/bin/lib/system_services.sh
linux_configuration/scripts/single_use/features/lib/aw_autostart.sh
linux_configuration/scripts/single_use/features/lib/aw_install.sh
linux_configuration/scripts/single_use/features/lib/aw_service.sh
linux_configuration/scripts/single_use/features/lib/dns_dhcp.sh
linux_configuration/scripts/single_use/features/lib/dns_firewall.sh
linux_configuration/scripts/single_use/features/lib/dns_units.sh
linux_configuration/scripts/single_use/features/lib/dot_resolver_install.sh
linux_configuration/scripts/single_use/features/lib/dwm_config.sh
linux_configuration/scripts/single_use/features/lib/gitea_network.sh
linux_configuration/scripts/single_use/features/lib/kcd2_autorebuild.sh
linux_configuration/scripts/single_use/features/lib/kcd2_expose.sh
linux_configuration/scripts/single_use/features/lib/kcd2_serve.sh
linux_configuration/scripts/single_use/features/lib/local_llm_model.sh
linux_configuration/scripts/single_use/features/lib/mobile_service.sh
linux_configuration/scripts/single_use/features/lib/nc_discover.sh
linux_configuration/scripts/single_use/features/lib/nc_flash.sh
linux_configuration/scripts/single_use/features/lib/nc_image.sh
linux_configuration/scripts/single_use/features/lib/nc_packages.sh
linux_configuration/scripts/single_use/features/lib/nc_php.sh
linux_configuration/scripts/single_use/features/lib/nc_remote_flash.sh
linux_configuration/scripts/single_use/features/lib/nc_remote.sh
linux_configuration/scripts/single_use/features/lib/nc_services.sh
linux_configuration/scripts/single_use/features/lib/pi_flash_exec.sh
linux_configuration/scripts/single_use/features/lib/pi_flash_image.sh
linux_configuration/scripts/single_use/features/lib/pi_flash_remote.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_ca.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_deps.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_fixes.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_install.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_ssl_remote.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_ssl.sh
linux_configuration/scripts/single_use/features/lib/rpi_nc_system.sh
linux_configuration/scripts/single_use/features/lib/searxng_expose.sh
linux_configuration/scripts/single_use/features/lib/searxng_limiter.sh
linux_configuration/scripts/single_use/features/lib/searxng_settings.sh
linux_configuration/scripts/single_use/features/lib/searxng_stack.sh
linux_configuration/scripts/single_use/features/lib/searxng_start.sh
linux_configuration/scripts/single_use/features/lib/searxng_status.sh
linux_configuration/scripts/single_use/features/lib/syncyomi_expose.sh
linux_configuration/scripts/single_use/features/lib/syncyomi_stack.sh
linux_configuration/scripts/single_use/features/lib/unreal_mcp_repo.sh
linux_configuration/scripts/single_use/features/lib/website_build.sh
linux_configuration/scripts/single_use/features/lib/wg_firewall.sh
linux_configuration/scripts/single_use/features/lib/wg_keys.sh
linux_configuration/scripts/single_use/features/lib/wg_sshd.sh
linux_configuration/scripts/single_use/fixes/lib/arch_cpu.sh
linux_configuration/scripts/single_use/fixes/lib/arch_hardware.sh
linux_configuration/scripts/single_use/fixes/lib/arch_perf_fixes.sh
linux_configuration/scripts/single_use/fixes/lib/arch_perf_probes.sh
linux_configuration/scripts/single_use/fixes/lib/arch_perf_report.sh
linux_configuration/scripts/single_use/fixes/lib/arch_sysctl.sh
linux_configuration/scripts/single_use/fixes/lib/bt_adapter.sh
linux_configuration/scripts/single_use/fixes/lib/bt_audio.sh
linux_configuration/scripts/single_use/fixes/lib/bt_pairing.sh
linux_configuration/scripts/single_use/fixes/lib/bt_report.sh
linux_configuration/scripts/single_use/fixes/lib/hosts_guard_migrate.sh
linux_configuration/scripts/single_use/fixes/lib/hosts_guard_rollback.sh
linux_configuration/scripts/single_use/fixes/lib/nvidia_config.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_capture.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_load.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_setup.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_summary.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_usage.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_watch.sh
linux_configuration/scripts/single_use/fixes/lib/thorium_repairs.sh
linux_configuration/scripts/single_use/fixes/lib/ubuntu_perf_fixes.sh
linux_configuration/scripts/single_use/fixes/lib/ubuntu_perf_more.sh
linux_configuration/scripts/single_use/fresh-install/lib/packages.sh
linux_configuration/scripts/single_use/lib/joplin_server.sh
linux_configuration/scripts/single_use/misc/testsAndMisc-bash/lib/clean_audio_filters.sh
linux_configuration/scripts/single_use/misc/testsAndMisc-bash/lib/transcribe_deps.sh
linux_configuration/scripts/single_use/misc/testsAndMisc-bash/lib/transcribe_pkgmgr.sh
linux_configuration/scripts/single_use/misc/testsAndMisc-bash/lib/transcribe_venv.sh
linux_configuration/scripts/single_use/misc/testsAndMisc-bash/lib/unity_handler.sh
meta/lib/lint_full_tools.sh
meta/lib/lint_output.sh
meta/scripts/lib/disk_cleanup_common.sh
meta/scripts/lib/trace_prefix.sh
meta/scripts/lib/trace_stubs.sh
phone_focus_mode/lib/adb_common.sh
phone_focus_mode/lib/adb_locking.sh
phone_focus_mode/lib/adb_trusted.sh
phone_focus_mode/lib/backup_capture.sh
phone_focus_mode/lib/backup.sh
phone_focus_mode/lib/monitor_checks_health.sh
phone_focus_mode/lib/monitor_checks_policy.sh
phone_focus_mode/lib/monitor.sh
phone_focus_mode/lib/restore.sh