testsAndMisc/meta/shell-coverage-allowlist.txt
Krzysztof kuhy Rudnicki 0201d5460a
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
Clear both hosts-guard libs; teach the instrument done <redirect> (88 -> 86)
hosts_guard_migrate.sh 81/81 and hosts_guard_rollback.sh 65/65, both
100.00% through run_all.sh at --min 100, and check_shell_coverage.sh
passes with each allowlist line already deleted.

82 assertions over 36 cases in three files sharing one harness: all four
validate_requirements refusals, plugin installation, the mount-collapse
loop in every arm (clears, fails, hits its 20-iteration bound, dry-run),
per-instance migration for both the bind-mounted and the plugin flavour,
and do_migrate's refusal to retire the legacy pacman hooks when nothing
registered -- the arm that exists so a failed migration cannot leave the
files with no unlock hook at all.

INSTRUMENT FIX: rollback measured 97.01% with lines 69 and 108
uncovered, both `done <redirect>` closing a loop. Reproduced minimally:
in a three-iteration loop ending `done >"$1"`, the body reports hits=3
and the `done` line hits=0, because bash attributes the redirected
compound statement to the loop's OPENING line. That is the same defect
_CLOSING_BRACE_OP already handles for `} |`, so _LOOP_END_OP is its
twin. The redirect is required by the pattern: a bare `done` stays in
the denominator, so genuinely uncovered loops are still caught.

Audited as the instrument notes demand -- every newly excluded line
printed with its text -- and it is exactly those two lines across all of
fixes/lib. Acceptance pair unchanged and exact: dot_resolver_install.sh
39/39, rpi_nc_ca.sh 73/73.

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

100 lines
6.0 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/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_sysctl.sh
linux_configuration/scripts/single_use/fixes/lib/bt_adapter.sh
linux_configuration/scripts/single_use/fixes/lib/nvidia_config.sh
linux_configuration/scripts/single_use/fixes/lib/pacman_hook_stall_setup.sh
linux_configuration/scripts/single_use/fixes/lib/ubuntu_perf_fixes.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
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