Skip to content

Test malformed HMMA helper signatures - #870

Open
thehobbit85 wants to merge 1 commit into
seedds:mainfrom
thehobbit85:codex/fix-heaps-fixture-types
Open

thehobbit85 wants to merge 1 commit into
seedds:mainfrom
thehobbit85:codex/fix-heaps-fixture-types

Conversation

@thehobbit85

@thehobbit85 thehobbit85 commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Adds negative HMMA helper-signature coverage for malformed parameter names and a non-reference output parameter, with a matching reference clarification. Production translation is unchanged. Current main has the guard but still lacks these two distinct regression cases, so this PR remains relevant.

Published commit dc3af94498df7fff3d2b4905fe5746f62d623c33 rebases published 85398e19a9911b4965086bb77d5aea774c1bacfa onto main f8a5618d5f505a4c0a0bcac7c413872d3a53c009 without another squash. The remaining diff is patch-equivalent: only the test module and shader reference entry differ from main. All 17 focused HMMA/documentation tests pass on this exact candidate, with zero skips, including the synthetic Mac GPU case using supported Metal 32023.922.4. The command is DM_GAME=0100F43008C44000 DMSH_TEST_GPU=1 python3 -B -m unittest -v dm.gfx.tests.test_dmsh_hmma dm.tools.tests.test_docs. Pinned Python lint and git diff --check pass. No production/profile/chain input changes, so no game comparison, shader rebuild or gameplay claim is made. No fixture or assertion was weakened.

Remote CI for this new candidate is pending Agent 3 verification; local results do not establish a current-head CI pass.

Historical published description, validation and original commit context

All revision-specific results, measurements, tooling limitations and original messages below predate this refresh. They remain historical, including earlier unsupported-toolchain results; they are not fresh validation of the candidate above. Unresolved limits remain open.

Adds two HMMA regression tests rejecting malformed parameter names and a non-reference output parameter. Production translation is unchanged. Main 975bb4c still lacks these negative cases.

Candidate 85398e19a9911b4965086bb77d5aea774c1bacfa is exactly one commit directly on that main, with a tree identical to the rebased pre-squash tree. All six HMMA tests pass on this exact candidate, including the synthetic Mac GPU case with supported Metal 32023.922.4. This is a test-only change; no runtime game behavior, shader profile or build input changes, so no game benchmark or regression run is claimed. No fixtures or assertions were weakened.

Remote CI on this exact consolidated candidate remains pending Agent 3 verification; local checks do not establish a current-head CI pass.

Original commit context — historical messages and correction rationale

The following original messages retain their historical revisions, test claims and limitations. They are preserved for context; they do not describe fresh validation of the consolidated candidate.

6dd9a5e6f05ed83314543c2728e2ef4b2ba0a830 — seedds <seedds@gmail.com>

Validate HMMA helper parameter captures before rewriting

Consolidated commit message

Test malformed HMMA helper signatures

Keep the HMMA rewrite strict about malformed parameter names and output-reference types. Add regression cases for both forms without changing production translation behavior.
Previously published validation and limitations — historical 6dd9a5e6f05ed83314543c2728e2ef4b2ba0a830

The following prior description retains its original revisions and environments; none of its old CI, benchmark, game or test claims is promoted to the consolidated head.

Add regression coverage for malformed HMMA helper signatures after upstream 0e8503e7 incorporated the production guards and Heaps fixture assertion. Main fixes the original lint failures but lacks these malformed ordinary/scratch parameter-name and output-reference cases. Each must raise ValueError identifying the bad parameter; the tests detect removal of either guard.

Current revision 6dd9a5e6f05ed83314543c2728e2ef4b2ba0a830, rebased onto upstream main bd98317eecfe832b40d401219c15207a398e78dd. Range-diff and the remaining diff were reviewed; main is an ancestor.

Fresh focused validation on this revision: 17 tests passed. The default Xcode 27.2 invocation could not run the optional GPU test because the locked Metal toolchain is missing. The full 17-test suite then passed with the existing supplemental Metal 32023.921.6 compiler, including the GPU comparison. This does not validate the locked 32023.922.4 compiler; the lock is unchanged. Only malformed-signature fixtures and their documentation differ from main.

Remote CI for this replacement head is pending verification by the CI agent; earlier successful checks do not validate it. Current checks.

Prior revision context and validation

The following evidence predates this rebase and retains its stated revisions and limitations.

Revision 7dfd0420451bd1d90d8a441ecb093c45a3429408 includes main 65501fbbaf8526f7aab0a1edd028135888590f8e. The malformed HMMA signature fixtures are still absent from main.

Validation on 7dfd0420451b. python3 -m unittest dm.tools.tests.test_docs dm.gfx.tests.test_dmsh_hmma — 17 tests passed.

GitHub checks for this revision

Preserved published commit message

Original published 85398e19a9911b4965086bb77d5aea774c1bacfa; its rebased candidate retains the same authorship and exact message. Any results named here belong to their original revisions.

Test malformed HMMA helper signatures

Keep the HMMA rewrite strict about malformed parameter names and output-reference types. Add regression cases for both forms without changing production translation behavior.

@thehobbit85
thehobbit85 force-pushed the codex/fix-heaps-fixture-types branch from 495c412 to eb7211a Compare November 1, 2026 13:33
@thehobbit85 thehobbit85 changed the title tests: assert successful Heaps parsing before inspecting entries Fix shared Heaps fixture and HMMA parser validation Nov 1, 2026
@thehobbit85
thehobbit85 force-pushed the codex/fix-heaps-fixture-types branch from eb7211a to 162bc26 Compare November 1, 2026 13:54
@thehobbit85 thehobbit85 changed the title Fix shared Heaps fixture and HMMA parser validation Test malformed HMMA helper signatures Nov 1, 2026
@thehobbit85
thehobbit85 force-pushed the codex/fix-heaps-fixture-types branch 7 times, most recently from 7f9e1e2 to 7dfd042 Compare November 2, 2026 17:44
@github-actions github-actions Bot added nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) docs Documentation labels Nov 3, 2026
@thehobbit85
thehobbit85 force-pushed the codex/fix-heaps-fixture-types branch 2 times, most recently from 6dd9a5e to 85398e1 Compare November 4, 2026 17:54
Keep the HMMA rewrite strict about malformed parameter names and output-reference types. Add regression cases for both forms without changing production translation behavior.
@thehobbit85
thehobbit85 force-pushed the codex/fix-heaps-fixture-types branch from 85398e1 to dc3af94 Compare November 5, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants