Skip to content

test: fix baseline Xcode and shader-pair CI fixtures - #1606

Closed
ishtiaq156 wants to merge 2 commits into
seedds:mainfrom
ishtiaq156:fix/ci-tooltests-baseline-w3-20261106
Closed

ishtiaq156 wants to merge 2 commits into
seedds:mainfrom
ishtiaq156:fix/ci-tooltests-baseline-w3-20261106

Conversation

@ishtiaq156

@ishtiaq156 ishtiaq156 commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Current upstream status — November 7, 2026: This test-only PR was merged non-force with upstream main db206a46; the one test_dmsh_pairs.py conflict was resolved in favor of main's production-compatible output(...) test fixture while preserving the extra missing-pixel regression test. Both focused modules passed 14/14 on that updated branch (d1e3ac6f). The earlier shader-pair output fix is already on main through 5e344a87 (part of #1590); the Xcode fixture's check_formats fix independently appears in open #1675. Thus this draft is partially superseded, and may become redundant after #1675; it is not a Wonder Edition merge prerequisite. Retain it as draft until the overlap is reconciled. Historical reproduction and regression counts follow.

Why

The saved draft #1564 Tool tests log showed six FileNotFoundError failures in the Xcode preparation fixture and two NameError: output failures in shader-pair tests. I reproduced all eight errors using the same two test modules on a new clean worktree at main commit b2d46b86; these are pre-existing generic test failures, not introduced by #1564.

Changes

  • In the synthetic Xcode preparation fixture, mock check_formats (the fixture creates RomFS/ and ExeFS/ but deliberately no real RomFS.img); assert that the preparation pipeline still passes the selected extracted version to the format-check stage.
  • In the shader-pair AST test harness, provide the fixture-backed output(label, name) dependency that production vs_pad obtains from its module. Verify an absent pixel shader output is skipped rather than padded.
  • Tests only: no production source or user/game files changed. Real RomFS integrity logic remains exercised separately by test_romfs_image.

Validation

  • Before on clean b2d46b86: python -m unittest -v dm.ios.tests.test_xcode_workflow dm.gfx.tests.test_dmsh_pairs — 12 tests, 8 errors (six Xcode subtests, two shader-pair tests).
  • After: those modules 13/13 PASS, including the new missing-pixel-output case.
  • Expanded five-module run (test_xcode_workflow, test_dmsh_pairs, test_dmsh_pull, test_romfs_image, test_dmsh_code_fp): 39/39 PASS.
  • Python py_compile and git diff --check: PASS.
  • Pinned ruff==0.17.2, pyright==1.1.414 ratchet using dm/tools/lint_python.py --against b2d46b86: 371 findings / 371 baseline / 0 new / 0 fixed outstanding.

Other unrelated existing CI tool-test failures appear in the saved log (SeenShaders.test_shader_watch_counts_the_list, test_dmsh_pool_arrays). This PR does not claim the entire Tool tests job is green or alter those issues.

Related observation: draft #1564's failure reproduces on unchanged main; no changes are requested to #1564.

The synthetic Xcode extraction deliberately lacks a RomFS.img; mock its separate integrity check but assert that the packaging pipeline still invokes it for the selected version. Supply the fixture-backed output() dependency to vs_pad's AST-only test harness and verify that missing pixel shader outputs are ignored.

Both errors reproduce unchanged on b2d46b8 (12 tests, eight errors). The two repaired modules pass 13 tests, expanded adjacent tests pass 39, and the pinned Python lint ratchet reports no new findings.
@github-actions github-actions Bot added nvn NVN on Metal and its tests (dm/gfx/nvn, dm/gfx/tests) ios The iPhone and iPad app (dm/ios) labels Nov 7, 2026
# Conflicts:
#	dm/gfx/tests/test_dmsh_pairs.py
@ishtiaq156

Copy link
Copy Markdown
Contributor Author

Closing this CI fixture PR as the substantive Xcode check_formats fixture fix and shader-pair output() compatibility correction are already present on main.

The additional missing-pixel-output regression test in this branch remains unmerged, but this PR is no longer required for the Wonder Edition integration.

@ishtiaq156 ishtiaq156 closed this Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ios The iPhone and iPad app (dm/ios) 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.

1 participant