From 082a6731d52a4795e90bf5c29bf8ad0510d11188 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 29 Jan 2026 06:53:36 -0600 Subject: feat(test,hyprland): improve test infrastructure and fix easyeffects Test Infrastructure: - Add make test-keep target to keep VM running after test - Add make test-vm-base target for creating base VM only - Update make test to auto-create VM if missing - Remove manual user creation from create-base-vm.sh (archsetup handles it) - Remove unused USERNAME/USER_PASSWORD from archsetup-test.conf Archsetup: - Add snapper-gui-git for btrfs snapshot GUI - Add SYNC_ACL=yes for snapper permissions - Add setfacl for wheel group access to /.snapshots Hyprland: - Remove easyeffects scratchpad (keep auto-launch) - Remove ecosystem permissions (caused too many popups) Co-Authored-By: Claude Opus 4.5 --- Makefile | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6d29788..e0e9237 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ DE := $(filter dwm hyprland,$(MAKECMDGOALS)) # Extract DEST from command line for import (e.g., 'make import common' -> DEST=common) DEST := $(filter common dwm hyprland,$(MAKECMDGOALS)) -.PHONY: help deps stow restow reset unstow import test common dwm hyprland +.PHONY: help deps stow restow reset unstow import test test-keep test-vm-base common dwm hyprland # Default target - show help help: @@ -30,7 +30,9 @@ help: @echo " reset Resolve conflicts, keep repo version - requires DE" @echo " unstow Remove all symlinks - requires DE" @echo " import Import new app configs into repo (fzf) - requires dest" - @echo " test Run full VM test suite and report results" + @echo " test Run full VM test suite (creates base VM if needed)" + @echo " test-keep Run test and keep VM running for manual testing" + @echo " test-vm-base Create base VM only (runs archangel)" @echo "" @echo "Examples:" @echo " make stow dwm # Fresh DWM install (common + dwm)" @@ -139,6 +141,24 @@ import: check-dest echo ""; \ echo "Done. Don't forget to: git add -A && git commit" -# Test - run full VM integration test suite +# Create base VM for testing (runs archangel only, no archsetup) +test-vm-base: + @bash scripts/testing/create-base-vm.sh + +# Test - run full VM integration test suite (creates base VM if needed) test: + @if [ ! -f vm-images/archsetup-base.qcow2 ] || \ + ! qemu-img snapshot -l vm-images/archsetup-base.qcow2 2>/dev/null | grep -q "clean-install"; then \ + echo "Base VM not found or missing snapshot, creating..."; \ + bash scripts/testing/create-base-vm.sh; \ + fi @bash scripts/testing/run-test.sh + +# Test and keep VM running (for manual testing after archsetup) +test-keep: + @if [ ! -f vm-images/archsetup-base.qcow2 ] || \ + ! qemu-img snapshot -l vm-images/archsetup-base.qcow2 2>/dev/null | grep -q "clean-install"; then \ + echo "Base VM not found or missing snapshot, creating..."; \ + bash scripts/testing/create-base-vm.sh; \ + fi + @bash scripts/testing/run-test.sh --keep -- cgit v1.2.3