Restore the answer-domain fixture after state-list replay #1077

Closed
klimovich008 wants to merge 0 commits from codex/restore-answer-domain-fixture into main
klimovich008 commented 2026-11-09 09:37:44 +00:00 (Migrated from github.com)

What this fixes

The answer-domain regression stops compiling on Windows and Linux with use of undeclared identifier 'answers_in'. This blocks source CI for unrelated changes after pipeline-state replay added that dependency to the function under test.

Why merge

  • Include the real TLS declaration used by the extracted production function.
  • Preserve production branches and every existing assertion; no runtime code changes.
  • Keep comparisons with older sources that do not use this declaration working.

Change

  • tests/test_program_answer_domains.py: extract the actual answers_in declaration from vk_shader.cpp before the existing function block, after Program is available.

Tested

  • python -I -B tests/run_all.py --strict: compiles the fixture and runs its existing default/strict answer-domain cases.
  • Fails on the old code, passes now. Both CI platforms reproduced the missing declaration before this fix; both compile and execute the unchanged assertions afterward.
  • All eight upstream checks pass: source regressions, Windows build and Linux build.

Not covered

  • The fixture exercises normal answer recording; consuming supplied replay answers is outside its existing assertions.

No game data is included.

## What this fixes The answer-domain regression stops compiling on Windows and Linux with `use of undeclared identifier 'answers_in'`. This blocks source CI for unrelated changes after pipeline-state replay added that dependency to the function under test. ## Why merge - Include the real TLS declaration used by the extracted production function. - Preserve production branches and every existing assertion; no runtime code changes. - Keep comparisons with older sources that do not use this declaration working. ## Change - `tests/test_program_answer_domains.py`: extract the actual `answers_in` declaration from `vk_shader.cpp` before the existing function block, after `Program` is available. ## Tested - `python -I -B tests/run_all.py --strict`: compiles the fixture and runs its existing default/strict answer-domain cases. - Fails on the old code, passes now. Both CI platforms reproduced the missing declaration before this fix; both compile and execute the unchanged assertions afterward. - All eight upstream checks pass: [source regressions](https://github.com/NotRexed/Hookshot/actions/runs/42594885364), [Windows build](https://github.com/NotRexed/Hookshot/actions/runs/42594885354) and [Linux build](https://github.com/NotRexed/Hookshot/actions/runs/42594885712). ## Not covered - The fixture exercises normal answer recording; consuming supplied replay answers is outside its existing assertions. No game data is included.
klimovich008 commented 2026-11-09 10:37:31 +00:00 (Migrated from github.com)

Closing in favor of #1076: it fixes the same compile failure with a simpler fixture declaration and adds coverage for supplied replay answers. Its Windows/Linux source tests and platform builds pass. One PR is enough for this fix.

Closing in favor of #1076: it fixes the same compile failure with a simpler fixture declaration and adds coverage for supplied replay answers. Its Windows/Linux source tests and platform builds pass. One PR is enough for this fix.
Commenting is not possible because the repository is archived.
No description provided.