From 56e0c351bb95cfdf63aa76ab8c5d725a694bad63 Mon Sep 17 00:00:00 2001 From: cirakg Date: Wed, 21 Oct 2026 03:55:10 +0200 Subject: test(build): add make watchdog, the glance memory budget and the glance screenshot - make watchdog (in make ci): a stress build encodes, packs, turns into runs and draws the largest code of every 2D symbology at two steps per event on the Forerunner 255S and 70; it fails on a watchdog trip, and the last code left on the screen must decode (bitmap path on the 70). - make memtest checks the glance (DIAG glance, budget 70 % of 64 KB). - screenshots.sh launches the app again after the flow and compares the glance with the favourite's code (glance_code.png on 7 watches); the About goldens show 0.8.0. Co-Authored-By: Claude Opus 5.5 --- Makefile | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index ff27914..5cec7ba 100644 --- a/Makefile +++ b/Makefile @@ -40,6 +40,9 @@ 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 watchdog`: one device per watchdog class (120,000 and 240,000 +# bytecodes per event). +WATCHDOG_DEVICES ?= fr255s fr70 # `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`. @@ -72,7 +75,7 @@ DOCS_RUN = $(DOCKER) run --rm --init --label project=$(PROJECT) \ --read-only --tmpfs /tmp:rw,exec,nosuid,size=1g --shm-size 512m \ -v "$(ROOT)":/work -w /work --network none $(DOCS_IMAGE) -.PHONY: help image docs-image sdk key build test test-tools sim screenshots screenshots-approve perf memtest icons vectors corpus codes spike spike-sim \ +.PHONY: help image docs-image sdk key build test test-tools sim screenshots screenshots-approve perf memtest watchdog icons vectors corpus codes spike spike-sim \ lint package docs ci shell clean nuke lock products \ check-docker dirs need-image need-docs-image @@ -177,6 +180,9 @@ perf: dirs need-image ## Start-up time on TEST_DEVICES against tools/budgets.jso memtest: dirs need-image ## Memory use on TEST_DEVICES against tools/budgets.json $(DEV_OFFLINE) app-diag.sh mem $(TEST_DEVICES) +watchdog: dirs need-image ## Largest 2D codes at twice the steps per event on WATCHDOG_DEVICES (no watchdog trip) + $(DEV_OFFLINE) app-diag.sh watchdog $(WATCHDOG_DEVICES) + lint: dirs need-image ## Strict type check (warnings fail), project rules, Python lint and types $(DEV_OFFLINE) lint.sh $(TEST_DEVICES) @@ -191,7 +197,7 @@ docs: dirs need-image need-docs-image ## Markdown lint, link check, Mermaid rend fi; \ done' -ci: lint test screenshots perf memtest package docs ## Everything above, in order; stops at the first failure +ci: lint test screenshots perf memtest watchdog package docs ## Everything above, in order; stops at the first failure @echo "make ci: all checks passed" # ---------------------------------------------------------------- cleanup -- cgit v1.2.3