summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorcirakg <cirakg@cirakg.xyz>2026-10-19 22:28:09 +0200
committercirakg <cirakg@cirakg.xyz>2026-10-19 22:28:09 +0200
commit2373b6f02ef027a423762d5d6349cd9e0f36090e (patch)
tree7509b0b1905d7c593074bba8ed4c94e30e437604 /Makefile
parent35042ff04ffc50e55ff59a385849442be4429d6b (diff)
test(ui): drive the simulator with a scripted flow and check every screen
tools/ui_flow.py clicks buttons and taps from the device files, waits for DIAG shown lines and compares 10 screens per watch with goldens on four test and three spot-check devices. Adds the fixture-wrap generator, UI logic tests and driver tests; the launcher opens apps from their glance. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile9
1 files changed, 6 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 5ffb028..b66408d 100644
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,9 @@ DEVICE ?= fr255s
# Simulator test devices: weakest round MIP (buttons only), rectangular AMOLED,
# your Forerunner 70, and a large round AMOLED.
TEST_DEVICES ?= fr255s venusq2 fr70 fr965
+# Extra screenshot-only devices (README 14): MIP with touch and buttons,
+# buttons-only AMOLED, the largest rectangle.
+SPOT_DEVICES ?= fenix7 instinct3amoled45mm venux1
# `make lock` only uses package releases published before this moment.
LOCK_CUTOFF ?= 2026-10-01T00:00:00Z
# Set to `nuke` to skip the confirmation prompt of `make nuke`.
@@ -154,11 +157,11 @@ test: test-tools ## Python tool tests + Monkey C unit tests on TEST_DEVICES (hea
test-tools: dirs need-image
$(DEV_OFFLINE) python3 -m pytest -q tools/tests
-screenshots: dirs need-image ## Screenshot the app on TEST_DEVICES and compare with test/golden
- $(DEV_OFFLINE) screenshots.sh $(TEST_DEVICES)
+screenshots: dirs need-image ## Scripted UI flow on TEST_DEVICES + SPOT_DEVICES, every screen compared with test/golden
+ $(DEV_OFFLINE) screenshots.sh $(TEST_DEVICES) $(SPOT_DEVICES)
screenshots-approve: dirs need-image ## Save the current screens as the new golden images (review them first!)
- $(DOCKER) run $(RUN_FLAGS) -e APPROVE=1 --network none $(DEV_IMAGE) screenshots.sh $(TEST_DEVICES)
+ $(DOCKER) run $(RUN_FLAGS) -e APPROVE=1 --network none $(DEV_IMAGE) screenshots.sh $(TEST_DEVICES) $(SPOT_DEVICES)
perf: dirs need-image ## Start-up time on TEST_DEVICES against tools/budgets.json
$(DEV_OFFLINE) app-diag.sh perf $(TEST_DEVICES)