Skip to content

test: enable test_kickstart with fixtures#7

Open
Mearman wants to merge 22 commits intomainfrom
fix/test-kickstart
Open

test: enable test_kickstart with fixtures#7
Mearman wants to merge 22 commits intomainfrom
fix/test-kickstart

Conversation

@Mearman
Copy link
Copy Markdown
Owner

@Mearman Mearman commented Mar 10, 2026

Enable test_kickstart with platform-specific test fixtures.

Added platform-specific fixtures for Linux CI rendering compatibility.

Co-authored-by: Claude [email protected]

jplexer and others added 22 commits March 9, 2026 17:39
Move agent guidelines content into AGENTS.md as the canonical file and
make .claude/CLAUDE.md a symlink to it, since the content is not
Claude-specific.

Co-authored-by: Claude <[email protected]>
Signed-off-by: Joshua Jun <[email protected]>
When airplane mode is toggled off, bt_pairability_init() is called after
the BLE advertising infrastructure has been fully torn down and rebuilt.
However, the cached s_last_ble_discoverable_state was not being reset,
causing evaluate_pairing_refcount() to skip calling
gap_le_slave_set_discoverable(true) since it believed discovery
advertising was already active. This left an unpaired watch invisible
to phones attempting to pair.

Reset s_last_ble_discoverable_state to false in bt_pairability_init() so
the next evaluation unconditionally re-drives discoverable advertising
when needed.

Fixes FIRM-1283

Co-authored-by: Claude <[email protected]>
Signed-off-by: Joshua Jun <[email protected]>
Add repository check to S3 upload steps in:
- build-firmware.yml
- build-prf.yml
- release.yml

The S3 upload now only runs when in coredevices/PebbleOS, not in
forks. This prevents "access-key-id required" errors in fork
workflows without using continue-on-error.

Fixes workflow failures in forks due to missing AWS credentials.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
This is currently not used.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
- When excellent samples are reported, turn off faster (5)
- When good samples are reported, turn off faster (10)

Signed-off-by: Gerard Marull-Paretas <[email protected]>
Remove it from drivers as well.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
This is not needed on main firmware, and, it is actually buggy (WTF, app
timer here!). Also, stop is never called, so a 10ms periodic timer can
be left on. This is just a workaround for this whole brain damaged
implementation.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
Require commit messages to use path-based areas (e.g., fw/drivers/hrm)
or known short areas (e.g., ci, docs, treewide) rather than conventional
commit types like feat:, fix:, chore:.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Append -darwin suffix to fixture filenames on macOS to handle rendering
differences in font libraries. Linux (CI) uses standard ~platform naming
to match existing fixtures.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Use memcpy for BD_ADDR_t address fields instead of direct assignment,
which was causing incorrect address comparisons in whitelist operations.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Add run-tests-docker.sh to run tests in Docker matching CI environment,
and generate-linux-fixtures.sh to generate Linux-specific test fixtures.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Document the cross-platform fixture naming scheme, Docker testing
workflow, and troubleshooting for CI vs local test discrepancies.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Restore platform suffix on Linux (e.g. ~spalding) while keeping the
additional -darwin suffix for macOS local development. This matches
the naming convention of the PNG fixture files in the repository.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Add expected output fixtures for test_kickstart tests covering
various display states including heart rate, steps, and obstructed areas.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Remove test_kickstart.c from BROKEN_TESTS now that fixtures are available.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Create symlinks with ~spalding suffix for Linux CI compatibility.

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
The kickstart tests were failing on Linux CI because the fixtures
were generated on macOS which renders differently. Updated the
spalding platform fixtures with Linux-rendered images for:
- test_kickstart__render_PBL_43717
- test_kickstart__render_steps_above_daily_avg
- test_kickstart__render_steps_above_daily_avg_24h

Co-authored-by: Claude <[email protected]>

Signed-off-by: Joseph Mearman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants