Added more tests

This commit is contained in:
2026-03-20 07:32:37 +01:00
parent 826c1c890a
commit 88e8411ec3
5 changed files with 463 additions and 77 deletions

View File

@@ -2,6 +2,57 @@
---
## V27 2026-03-20 07:00:00
**Add ISO build, boot chain verification, and fix installer bugs**
### Changes:
- Fixed `configs/rc.d/pipewire`: removed hardcoded `danny`/UID `1000`
- Now auto-detects the autologin user from `/etc/inittab` via `get_autologin_user()`
- Creates XDG_RUNTIME_DIR using the actual user's UID from `id -u`
- Works correctly for any username set during installation
- Fixed `src/iso/build-iso-arch.sh`: `mkdir -p install/configs` now runs BEFORE
copying zprofile into it (was after — silent failure, zprofile never reached the ISO)
- Also now copies inittab, rc.conf, and full rc.d/ directory into ISO's install/configs/
- Fixed `src/install/modules/disk.sh`: in `configure_boot()`, `mkdir -p EFI/Linux/`
now runs BEFORE `cp vmlinuz vmlinuz.efi` (was after — would fail on clean ESP)
- Added Test Suite 7 (Boot Chain Verification) — 20+ static checks that verify the
complete EFISTUB → init → autologin → zsh → dwl chain is correctly wired:
- `chain.efistub` — CONFIG_EFI_STUB=y in kernel config
- `chain.autologin` — --autologin in inittab
- `chain.inittab_sysinit/multi` — rc.sysinit and rc.multi referenced
- `chain.rc.sysinit/multi/shutdown` — scripts exist and are executable
- `chain.daemon_listed.*` — eudev/dbus/dhcpcd/pipewire in DAEMONS array
- `chain.zprofile_dwl` — zprofile contains `exec dwl`
- `chain.zprofile_tty1_guard` — only runs on /dev/tty1
- `chain.zprofile_wayland_guard` — won't double-launch
- `chain.zprofile_pipewire` — starts audio stack
- `chain.zprofile_nvidia_env` — GBM_BACKEND set for RTX 5090
- `chain.zprofile_xdg_runtime` — XDG_RUNTIME_DIR created
- `chain.pipewire_dynamic_user` — no hardcoded username
- `chain.installer_copies_zprofile` — installer deploys zprofile
- `chain.installer_updates_inittab` — installer updates autologin user
- `chain.boot_mkdir_before_cp` — mkdir before cp in configure_boot
- `chain.efibootmgr` — UEFI boot entry created
- `chain.nvidia_modules` — NVIDIA in MODULES array
- `chain.nvidia_modeset` — nvidia-drm modeset=1 set
- Added Test Suite 9 (ISO Build) — actually builds the ISO via `build-iso-arch.sh`:
- Checks prerequisites (mksquashfs, xorriso, mkfs.fat, mcopy)
- Builds ISO and verifies it was produced
- Mounts ISO and squashfs to verify all critical files are inside:
rc.conf, rc.d scripts, installer modules, zprofile, dpack binary, package repos
- Verifies the zprofile inside the ISO has `exec dwl`
- Renumbered QEMU boot test to Suite 10
### Plan deviation/changes:
- None
### What is missing/needs polish:
- ISO build requires sudo (test runner needs root for mount operations)
- QEMU boot test still depends on a bootable kernel being present
---
## V26 2026-03-20 06:30:00
**Fix test runner bugs and add missing test coverage**