aboutsummaryrefslogtreecommitdiff
path: root/scripts/testing/run-test.sh
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-25 12:21:15 -0400
committerCraig Jennings <c@cjennings.net>2026-06-25 12:21:15 -0400
commit353b17968bf48100bbd18ed746e0fbe2fe88141f (patch)
treecf8f001bc98a9018bba6d658c48e8346c945e97d /scripts/testing/run-test.sh
parent3ff0ca70b9b7333ec100bd4d4212923a077553c5 (diff)
downloadarchsetup-353b17968bf48100bbd18ed746e0fbe2fe88141f.tar.gz
archsetup-353b17968bf48100bbd18ed746e0fbe2fe88141f.zip
test(archsetup): add FS_PROFILE selector for ZFS VM coverageHEADmain
The VM harness only built one btrfs base image, so every ZFS-conditional check in the Testinfra suite skipped and the ZFS install path went untested in automation. I added an FS_PROFILE selector (btrfs default, zfs) so `make test FS_PROFILE=zfs` can target a ZFS root. init_vm_paths derives the image name from FS_PROFILE and validates it. btrfs keeps the legacy unsuffixed archsetup-base.qcow2 so existing images and invocations are untouched. The zfs profile gets archsetup-base-zfs.qcow2. create-base-vm.sh picks archsetup-test.conf vs the new archsetup-test-zfs.conf (FILESYSTEM=zfs, NO_ENCRYPT=yes for an unattended install), and the Makefile resolves the matching image for its base-VM check. The archsetup run config stays shared. archsetup reads no filesystem key. It detects ZFS from the live root via is_zfs_root, so the ZFS branch fires on its own once the base image is ZFS. The design doc is reconciled to that: no separate archsetup-vm-zfs.conf, and the non-ZFS profile is btrfs, not ext4. Building the ZFS base image and running the ZFS sweep green is next.
Diffstat (limited to 'scripts/testing/run-test.sh')
-rwxr-xr-xscripts/testing/run-test.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/testing/run-test.sh b/scripts/testing/run-test.sh
index a22ae98..f962df3 100755
--- a/scripts/testing/run-test.sh
+++ b/scripts/testing/run-test.sh
@@ -50,6 +50,9 @@ while [[ $# -gt 0 ]]; do
echo " --keep Keep VM in post-test state (for debugging)"
echo " --script Specify custom archsetup script to test"
echo " --snapshot Snapshot name to revert to (default: clean-install)"
+ echo ""
+ echo "Env: FS_PROFILE=btrfs|zfs (default btrfs) selects the base image"
+ echo " built by create-base-vm.sh. e.g. FS_PROFILE=zfs $0"
exit 1
;;
esac
@@ -100,6 +103,7 @@ init_logging "$LOGFILE"
init_vm_paths "$VM_IMAGES_DIR"
section "ArchSetup Test Run: $TIMESTAMP"
+info "Filesystem profile: $FS_PROFILE (image: $(basename "$DISK_PATH"))"
# Verify archsetup script exists
if [ ! -f "$ARCHSETUP_SCRIPT" ]; then
@@ -108,7 +112,11 @@ fi
# Check disk exists
if [ ! -f "$DISK_PATH" ]; then
- info "Create it first: ./scripts/testing/create-base-vm.sh"
+ if [ "$FS_PROFILE" = "btrfs" ]; then
+ info "Create it first: ./scripts/testing/create-base-vm.sh"
+ else
+ info "Create it first: FS_PROFILE=$FS_PROFILE ./scripts/testing/create-base-vm.sh"
+ fi
fatal "Base disk not found: $DISK_PATH"
fi