Enforce area format for commit messages and enhance testing support#953
Draft
Mearman wants to merge 11 commits intocoredevices:mainfrom
Draft
Enforce area format for commit messages and enhance testing support#953Mearman wants to merge 11 commits intocoredevices:mainfrom
Mearman wants to merge 11 commits intocoredevices:mainfrom
Conversation
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 <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
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 <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
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 <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
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 <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
3cb6262 to
6fa318e
Compare
Document the cross-platform fixture naming scheme, Docker testing workflow, and troubleshooting for CI vs local test discrepancies. Co-authored-by: Claude <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
6fa318e to
a1e42b5
Compare
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 <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
gmarull
reviewed
Mar 10, 2026
| # docs, waftools, settings, libc, tests, notifications, build, wscript, fw, | ||
| # third_party, ancs, compositor, console, kernel, health | ||
| # Conventional commit types like feat:, fix:, chore: are NOT allowed. | ||
| regex=^([a-z0-9_]+/[a-z0-9_/]*|ci|treewide|platform|sdk|tools|resources|docs|waftools|settings|libc|tests|notifications|build|wscript|fw|third_party|ancs|compositor|console|kernel|health|gitlint|readme|requirements|python_libs|pbl-tool|pbl|moddable|libutil|iconography|gitignore|capabilities|asterix|activity|accel): .* |
Member
There was a problem hiding this comment.
some are bogus, please, make sure to analyze what Claude does, or our PR review time will decrease. Only ask for review when you have manually checked LLM job.
Contributor
Author
There was a problem hiding this comment.
ah sorry I keep forgetting to keep them as draft.
for my reference which aren't suitable?
I just scanned through the git history to build the list
Replace sh.pip('freeze') with subprocess.check_output(['pip', 'freeze'])
to avoid OverflowError with sh library on Python 3.14+.
Co-authored-by: Claude <claude@anthropic.com>
Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Replace sh.rm with subprocess.run to avoid Python 3.14 compatibility issues with the sh library. Co-authored-by: Claude <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Remove test_action_menu_window.c from the exclusion list to enable the test. Co-authored-by: Claude <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
- Fix include path from settings_notifications_private.h to notifications_private.h - Add stubs_vibes.h include to resolve linker errors Co-authored-by: Claude <claude@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
838 test fixture images had incorrectly escaped tildes in their filenames (e.g., '\~silk.png' instead of '~silk.png'). This caused tests to fail because the PBI conversion and test lookup logic expected the correct platform suffix format. Co-authored-by: Claude <noreply@anthropic.com> Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces improvements to test fixture management, documentation, and platform-specific handling in the graphics test framework. It clarifies how test fixtures differ between Linux (CI) and macOS (local development), provides scripts for running tests and generating fixtures in Docker, and updates code to ensure fixture naming is platform-aware. The changes also improve the handling of Bluetooth whitelist entries in test fakes for correctness and consistency.
Test fixture management and documentation:
tests/README.mdwith comprehensive instructions for running tests, generating and updating fixtures, and troubleshooting platform-specific differences. It explains the fixture naming convention and how to ensure test results match CI using Docker.tests/run-tests-docker.shandtests/generate-linux-fixtures.shscripts to run tests and generate Linux fixtures in Docker, ensuring consistency with CI and simplifying fixture updates. [1] [2]Platform-specific fixture handling:
tests/fw/graphics/util.hto append~platform-os(e.g.,~spalding-linux.pbi,~spalding-darwin.pbi) to fixture filenames, allowing the test framework to distinguish between Linux and macOS fixtures.Bluetooth whitelist test fakes:
tests/fakes/fake_HCIAPI.cto usememcpyfor copying Bluetooth addresses in whitelist entry structures, improving correctness and avoiding pointer aliasing issues. [1] [2] [3] [4] [5]Git commit linting configuration:
.gitlintconfiguration to clarify allowed commit title formats and enable regex-style search for improved enforcement.