mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 17:34:04 +01:00
raspberry_pi_flash_sd.sh 661 -> 166 and test_boot_repair.sh 315 -> 104. Heredoc positions were checked before choosing seams this time. test_boot_repair.sh is the first linux_configuration script in this effort that could be verified by running it: every case builds a throwaway root in a temp dir and passes --root. 31 passed after the split, and 31 passed from a detached worktree at HEAD - a real baseline comparison rather than trusting the post-split number. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
43 lines
2.5 KiB
JSON
43 lines
2.5 KiB
JSON
{
|
|
"intent": "Split two more linux_configuration scripts, one of which could finally be verified by actually running it.",
|
|
"scope": [
|
|
"single_use/features/raspberry_pi_flash_sd.sh (661 -> 166) + pi_flash_remote, pi_flash_image, pi_flash_exec",
|
|
"boot_recovery/tests/test_boot_repair.sh (315 -> 104) + boot_repair_cases.sh",
|
|
"Non-goal: raspberry_pi_flash_sd.sh not executed"
|
|
],
|
|
"changes": [
|
|
"Both scripts were checked for heredoc positions BEFORE choosing seams, after the enforce_vbox_hosts split cut inside one. raspberry_pi_flash_sd.sh has heredocs at lines 68 and 609; the three cut points (134, 273, 460) sit clear of both.",
|
|
"test_boot_repair.sh's fixtures and repair cases moved to boot_repair_cases.sh, leaving the assertions and the runner in the entry."
|
|
],
|
|
"verification": [
|
|
{
|
|
"command": "bash linux_configuration/scripts/boot_recovery/tests/test_boot_repair.sh",
|
|
"result": "pass",
|
|
"evidence": "31 passed, 0 failed. This is the first linux_configuration script in the whole effort that could be RUN as verification rather than statically checked: its header documents that every case builds a throwaway root in a temp dir and passes --root, so nothing on the machine is touched."
|
|
},
|
|
{
|
|
"command": "same script from a detached worktree at HEAD",
|
|
"result": "pass",
|
|
"evidence": "31 passed, 0 failed - the identical count, so the split neither lost nor duplicated a case. Establishing the baseline from a clean worktree rather than trusting the post-split number is the shell equivalent of the pass-count rule used throughout python_pkg."
|
|
},
|
|
{
|
|
"command": "meta/scripts/verify_shell_split.sh for both scripts",
|
|
"result": "pass",
|
|
"evidence": "Both report 'libs sourced, functions defined' on the first attempt - no chained libs, no SCRIPT_DIR collision, no heredoc cut."
|
|
},
|
|
{
|
|
"command": "pre-commit run --files <6 changed files>",
|
|
"result": "pass",
|
|
"evidence": "Clean, including shellcheck over each lib in isolation."
|
|
}
|
|
],
|
|
"risks": [
|
|
"raspberry_pi_flash_sd.sh writes partition tables to an SD card and was not run; only the stubbed run and the static checks cover it.",
|
|
"Checking heredoc positions before choosing a seam is currently a manual step. The verifier catches the failure afterwards via bash -n, but the splitter still has no heredoc awareness."
|
|
],
|
|
"rollback": [
|
|
"git revert the commit; both scripts return to 661 and 315 lines and the four libs disappear.",
|
|
"After rollback, re-run test_boot_repair.sh and expect 31 passed."
|
|
]
|
|
}
|