aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/DEVELOPER_GUIDE.md6
-rw-r--r--docs/TESTING.md2
2 files changed, 4 insertions, 4 deletions
diff --git a/docs/DEVELOPER_GUIDE.md b/docs/DEVELOPER_GUIDE.md
index a100404..74eff63 100644
--- a/docs/DEVELOPER_GUIDE.md
+++ b/docs/DEVELOPER_GUIDE.md
@@ -31,7 +31,7 @@ Everything runs in Docker through the `Makefile`; the host needs only Docker and
| Everything, in order | `make ci` |
| A shell in the container | `make shell` |
-Use other devices with `TEST_DEVICES="fr70 venu3"` on any target that takes a device list. Every target runs serially, even under `make -j`.
+By default every target that takes a device list runs on the Forerunner 70 only (`DEVICE`, `TEST_DEVICES` and `WATCHDOG_DEVICES` are `fr70`, `SPOT_DEVICES` is empty). Add `ALL=1` for the full set (Forerunner 255S, Venu Sq 2, Forerunner 70 and 965, plus fēnix 7, Instinct 3 AMOLED and Venu X1 for screenshots, and the 255S for the watchdog), or name devices with `TEST_DEVICES="fr70 venu3"`. The goldens of the other watches are only refreshed by an `ALL=1` run, so they may lag behind the Forerunner 70's. Every target runs serially, even under `make -j`.
## Repository layout
@@ -111,7 +111,7 @@ The simulator is a GTK program. The scripts start it on a virtual display (Xvfb
### Screenshots and the UI flow
-`make screenshots` builds both UI-test variants and runs `tools/ui_flow.py` on every device in `TEST_DEVICES` and `SPOT_DEVICES`: the main flow, the glance with its code, the extra scenario, then the glance without a code. All seven watches take about 65 minutes; the Forerunner 70 alone (`make screenshots TEST_DEVICES=fr70 SPOT_DEVICES=`) about 8.
+`make screenshots` builds both UI-test variants and runs `tools/ui_flow.py` on every device in `TEST_DEVICES` and `SPOT_DEVICES`: the main flow, the glance with its code, the extra scenario, then the glance without a code. The Forerunner 70 alone (the default) takes about 8 minutes; all seven watches (`ALL=1`) about 65.
1. **Input.** The flow clicks the buttons where the device's `simulator.json` draws them. It taps and swipes on touch screens, and long-presses for the menu where there's no MENU button.
2. **Waiting.** After each input it waits for the screen's `DIAG shown <screen>` line. The list and the OTP screen print it only once every visible code is drawn.
@@ -137,7 +137,7 @@ Debug builds print `DIAG first_frame startup_ms=... mem_used=... mem_total=...`
## Adding things
- **A device**: add `<iq:product id="..."/>` to `manifest.xml`, then `make sdk` (downloads its files), `make icons` and `make products` (checks it meets the target rule: a watch, API 5.0 or newer, at least 512 KB, and the watchdog the job runner assumes for its memory).
-- **A test device**: add it to `TEST_DEVICES` (unit tests, perf and screenshots) or `SPOT_DEVICES` (screenshots only) in the `Makefile`. Then run `make screenshots`, review `build/screenshots/<device>/`, and run `make screenshots-approve`.
+- **A test device**: add it to the `ALL=1` lists of `TEST_DEVICES` (unit tests, perf and screenshots) or `SPOT_DEVICES` (screenshots only) in the `Makefile`. Then run `make screenshots`, review `build/screenshots/<device>/`, and run `make screenshots-approve`.
- **A screen in the UI flow**: print `Diag.shown("<name>")` after its first complete draw, add the steps to `run_flow` in `tools/ui_flow.py`, and approve the new goldens after reviewing them.
- **Import inputs**: new parser cases go into `test/import/` (fixtures are built in `ImportSupport.mc`, all fake). To widen the fuzz corpus, change the seeds or mutations in `tools/gen_fuzz_corpus.py` and run `make corpus`. The Python tests check that the committed corpus matches the generator.
- **A settings form or field**:
diff --git a/docs/TESTING.md b/docs/TESTING.md
index 40c6925..4443a90 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -18,7 +18,7 @@ The full test plan is in [README section 17](../README.md#17-test-plan). This do
| Packaging | `make package` | The signed `.iq` builds for all 72 products with zero warnings |
| Docs | `make docs` | No broken links or anchors, no Markdown lint issues, every Mermaid diagram renders |
-Test devices (`TEST_DEVICES`): Forerunner 255S (weakest: 218 px round MIP, buttons only, 512 KB), Venu Sq 2 (rectangular AMOLED), Forerunner 70 (your watch) and Forerunner 965 (454 px round AMOLED).
+Test devices: the Forerunner 70 by default; with `ALL=1` (`TEST_DEVICES`): Forerunner 255S (weakest: 218 px round MIP, buttons only, 512 KB), Venu Sq 2 (rectangular AMOLED), Forerunner 70 (your watch) and Forerunner 965 (454 px round AMOLED).
## Test vectors