summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-29 06:53:36 -0600
committerCraig Jennings <c@cjennings.net>2026-01-29 06:53:36 -0600
commit082a6731d52a4795e90bf5c29bf8ad0510d11188 (patch)
treea5485d4109fc55fd273d85325636700e0460881d /Makefile
parent0d38b73699deca8ce3f0b9d497b649a1fc9ebec3 (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 23 insertions, 3 deletions
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