<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otpGarmin/tools/tests/test_ui_flow.py, branch main</title>
<subtitle>OTP Wallet for Garmin Connect IQ: offline one-time passwords and barcodes.</subtitle>
<id>https://git.cirakg.xyz/otpGarmin/atom?h=main</id>
<link rel='self' href='https://git.cirakg.xyz/otpGarmin/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/'/>
<updated>2026-10-25T22:51:52+00:00</updated>
<entry>
<title>test(ui): second UI scenario, and the fixes it found</title>
<updated>2026-10-25T22:51:52+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-25T22:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=b8addc87f804789368612bf8e1be31a2bf28efe1'/>
<id>urn:sha1:b8addc87f804789368612bf8e1be31a2bf28efe1</id>
<content type='text'>
A second UI-test build (uitest-extra.jungle) covers the legacy PIN and
the forced new PIN, Change and Reset PIN, a queued Require PIN, UPC-A,
Code 39, the code error screen, the encoding progress, auto-lock on a
barcode, the light theme and the glance without a code; the main flow
adds the Steam and Library details and the menu's text screens.

Fixed from what it found: Entry IDs tripped the watchdog with 110
entries; auto-lock didn't close a locked barcode; a queued Require PIN
showed "Confirm in menu"; locked barcodes lacked the padlock; the PIN
keypad's bottom row, the Reset PIN question, text-screen bottoms, the
glance title and the light-theme warning colour.

Goldens approved on all seven watches; only the Forerunner 70 was
re-verified after the version bump.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>test(build): add make watchdog, the glance memory budget and the glance screenshot</title>
<updated>2026-10-21T01:55:10+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-21T01:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=56e0c351bb95cfdf63aa76ab8c5d725a694bad63'/>
<id>urn:sha1:56e0c351bb95cfdf63aa76ab8c5d725a694bad63</id>
<content type='text'>
- 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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>test(ui): drive the simulator with a scripted flow and check every screen</title>
<updated>2026-10-19T20:28:09+00:00</updated>
<author>
<name>cirakg</name>
<email>cirakg@cirakg.xyz</email>
</author>
<published>2026-10-19T20:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/otpGarmin/commit/?id=2373b6f02ef027a423762d5d6349cd9e0f36090e'/>
<id>urn:sha1:2373b6f02ef027a423762d5d6349cd9e0f36090e</id>
<content type='text'>
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 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
