aboutsummaryrefslogtreecommitdiff
path: root/tests/backup-system-file
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-11 06:01:17 -0500
committerCraig Jennings <c@cjennings.net>2026-07-11 06:01:17 -0500
commit4c1b9811927aee572624aa03527dab9ec5f3a12a (patch)
treee0c3b957e0282b572c7035860fcfe48d1701780b /tests/backup-system-file
parente4b76c1bdd07241266a83fae4af3e51053d43271 (diff)
downloadarchsetup-4c1b9811927aee572624aa03527dab9ec5f3a12a.tar.gz
archsetup-4c1b9811927aee572624aa03527dab9ec5f3a12a.zip
test(net): add the doctor control-plane repair scenarios and runner
net Phase 1's three privileged fixes (unmask-nm, disable-rival, chmod-keyfile) can't be verified against fakes past the point where real sudo and a running NetworkManager matter, and the broken states they repair are too dangerous to stage on a daily driver. I added the live-verification harness they need. Three scenario files encode the break/fix/assert for each: mask NetworkManager, enable a rival dhcpcd, and chmod a profile keyfile to 0644, then run the real net doctor --fix and assert the repair. Each also names the read-only diagnose verdict it expects, so a run that breaks catches whether the fault is in the diagnosis or the fix. run-net-scenarios.sh rsyncs the net and panelkit trees into a target VM over ssh and drives the scenarios there. The target is a booted VM, not a container: NetworkManager needs a real kernel and network stack to actually run, so an nspawn container can only show the filesystem-level half (the mask symlink, the keyfile mode) and not "NM is active". A disposable VM you revert is the right environment. The scenario break/fix/assert logic is the reviewed part. The ssh transport plumbing hasn't been exercised against a live target yet, so it's marked first-draft and may need a shakeout on the first real run. The by-hand equivalent already lives in the manual-testing checklist.
Diffstat (limited to 'tests/backup-system-file')
0 files changed, 0 insertions, 0 deletions