diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-08 22:09:13 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-08 22:09:13 -0500 |
| commit | 2f5cba36ad6146ffa0bca5830ba3dae6964bc3ed (patch) | |
| tree | f30f979f4b7aa2f48b65592a5c74cbc4dd2a3189 /Makefile | |
| parent | 634bebcd5e8e7ade1a54f1d2aa1596487bf472ad (diff) | |
| download | dotemacs-2f5cba36ad6146ffa0bca5830ba3dae6964bc3ed.tar.gz dotemacs-2f5cba36ad6146ffa0bca5830ba3dae6964bc3ed.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-- | Makefile | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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 |
