aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-08 22:09:13 -0500
committerCraig Jennings <c@cjennings.net>2026-06-08 22:09:13 -0500
commite6e13d2c6f612ee846a4ede9e8a8d77f6b1d3ac4 (patch)
tree4cdc75da8ef02a41910a6a9bc5ef1c29797199cb /Makefile
parentffaf5e8eea48d528217324b94e01f2a400272f84 (diff)
downloaddotemacs-e6e13d2c6f612ee846a4ede9e8a8d77f6b1d3ac4.tar.gz
dotemacs-e6e13d2c6f612ee846a4ede9e8a8d77f6b1d3ac4.zip
test(theme-studio): add a one-command test runner and make target
The browser hash gates were run by hand through headless Chrome, so a picker-JS regression only surfaced if someone remembered to run them. run-tests.sh now drives the whole pyramid in one command: regenerate the page, the Python templating tests, the Node unit tests plus inline-integrity, a syntax check of the spliced page script, and the six browser hash gates. It exits non-zero on any failure, and make theme-studio-test calls it. The browser gates need a Chromium-family browser. When none is found they report SKIPPED rather than passing, so a machine without Chrome can't turn the gates silently green.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile6
1 files changed, 5 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 7182f6170..a1f403e8b 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ EMACS_TEST = $(EMACS_BATCH) -L $(TEST_DIR) -L $(MODULE_DIR)
# No colors - using plain text symbols instead
.PHONY: help targets test test-all test-unit test-integration test-file test-name \
- test-bash benchmark coverage coverage-summary coverage-clean \
+ test-bash theme-studio-test benchmark coverage coverage-summary coverage-clean \
validate-parens validate-modules compile compile-file lint profile \
clean clean-compiled clean-tests reset
@@ -66,6 +66,7 @@ help:
@echo " make test-file FILE=<filename> - Run specific test file"
@echo " make test-name TEST=<pattern> - Run tests matching pattern"
@echo " make test-bash - Run the bats shell-script tests ($(words $(BASH_TESTS)) files)"
+ @echo " make theme-studio-test - Run the theme-studio tool tests (Python + Node + browser)"
@echo " make benchmark - Run performance benchmarks (:perf-tagged)"
@echo ""
@echo " Coverage:"
@@ -121,6 +122,9 @@ test-bash:
@echo "[i] Running bats shell-script tests ($(words $(BASH_TESTS)) files)..."
@bats $(BASH_TESTS)
+theme-studio-test:
+ @scripts/theme-studio/run-tests.sh
+
BANNER = ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Run the .el test files in $(1), each in its own Emacs, with :slow and :perf