diff options
| author | cirakg <cirakg@cirakg.xyz> | 2026-10-21 03:55:10 +0200 |
|---|---|---|
| committer | cirakg <cirakg@cirakg.xyz> | 2026-10-21 03:55:10 +0200 |
| commit | 56e0c351bb95cfdf63aa76ab8c5d725a694bad63 (patch) | |
| tree | e99c7af6eca0656948279055c20a5f87d855d4c8 /docker/scripts/build-app.sh | |
| parent | 5e8ac1e2f5a660e55ea132996e1d5730cfa4fa64 (diff) | |
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 <noreply@anthropic.com>
Diffstat (limited to 'docker/scripts/build-app.sh')
| -rwxr-xr-x | docker/scripts/build-app.sh | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/docker/scripts/build-app.sh b/docker/scripts/build-app.sh index 1a7d59a..5ead272 100755 --- a/docker/scripts/build-app.sh +++ b/docker/scripts/build-app.sh @@ -1,21 +1,22 @@ #!/usr/bin/env bash # Author: cirakg & claude ai -# Summary: Compile the watch app for one device: debug, release, unit-test or UI-test build. +# Summary: Compile the watch app for one device: debug, release, unit-test, UI-test or watchdog stress build. # -# Usage: build-app.sh debug|release|test|uitest DEVICE +# Usage: build-app.sh debug|release|test|uitest|stress DEVICE # Output: build/<mode>/<DEVICE>.prg, and the compiler log next to it. # # Policy (README section 17.7): strict type checking (-l 3), and any compiler # warning fails the build. UI-test builds add uitest.jungle (fixed clock, -# fake entries; see source/util/TestMode.mc). Test builds add test.jungle, so test code never -# reaches debug or release builds; release builds (-r) also drop every +# fake entries; see source/util/TestMode.mc), stress builds stress.jungle (the +# watchdog stress test, source/util/StressTest.mc). Test builds add +# test.jungle, so test code never reaches debug or release builds; release builds (-r) also drop every # (:debug) declaration, such as the diagnostics in source/util/Diag.mc. set -euo pipefail # shellcheck source=ciq-env.sh source "$(dirname "${BASH_SOURCE[0]}")/ciq-env.sh" -mode="${1:?usage: build-app.sh debug|release|test|uitest DEVICE}" -device="${2:?usage: build-app.sh debug|release|test|uitest DEVICE}" +mode="${1:?usage: build-app.sh debug|release|test|uitest|stress DEVICE}" +device="${2:?usage: build-app.sh debug|release|test|uitest|stress DEVICE}" ciq_require_sdk ciq_require_key @@ -29,11 +30,12 @@ case "${mode}" in debug) ;; release) args+=(-r) ;; uitest) jungles="${jungles};/work/uitest.jungle" ;; + stress) jungles="${jungles};/work/stress.jungle" ;; test) jungles="${jungles};/work/test.jungle" args+=(-t) ;; - *) die "unknown build mode '${mode}' (use debug, release, test or uitest)" ;; + *) die "unknown build mode '${mode}' (use debug, release, test, uitest or stress)" ;; esac out_dir="${BUILD_DIR}/${mode}" |
