Repository navigation
test: repair source fixtures after recent main merges - #2648
Merged
Merged
Conversation
The Aux and biquad cut-outs added by NotRexed#1544 use env_on from NotRexed#2042. Compile them with the real header, retaining every DSP assertion. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
Include window_title before the actual startup functions. Keep startup failure handling and libdecor ordering checks unchanged. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
Supply dead_import_bytes for the actual reaper and assert it remains charged until GPU completion. Keep view-before-buffer destruction checks. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
Match the full wait_recorded definition rather than the forward declaration added by NotRexed#2458. Keep all part-wait and event-order assertions. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
Check both sides of the intentional two-pixel DLSS tolerance and model temporal_reset_failure in the complete menu handlers. Assert scaling rows reset failures while frame generation and rumble preserve their choices. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
The routing fixture has no controllers. Supply hos_xinput_pads alongside its existing SDL stand-ins without changing resource-table merge or routing checks. Assisted-by: GPT-6 Astra Co-Authored-By: GPT-6 Astra <noreply@openai.com>
hckrman101
approved these changes
Nov 12, 2026
hckrman101
left a comment
Collaborator
There was a problem hiding this comment.
Thanks, this is a useful cleanup. I checked each repair against current main (the PR is 0 commits behind):
- audio_aux / audio_biquad: including
hookshot_env.hgives the extracted DSP the realenv_on, no stub. - display_startup_failure / wayland_libdecor_hint:
window_titleis a static helper indisplay_sdl.cnow used by both init and window creation, so extracting it with its callers is the right fix. - texel_buffer_ownership:
dead_import_bytesis the real counter fromvk_memory.cpp, and the new asserts (still 64 before the fence passes, 0 after) check the decrement inreap_mirrorsinstead of just making it compile. - readback_part: matching the full definition signature skips the new forward declaration. Fine.
- dlss_checks: #2574 meant to add the
(w + 2) * 3tolerance, so flipping the old "under a third" negatives is correct. The new pairs (510/509 wide, 286/285 high, 1471x620 vs 1469 / 619 inmode_for) pin the edges on both sides, so a looser or tighter tolerance would both be caught. - framegen_preset / rumble_menu:
set_rowon main resets temporal failures for exactlydlss,resolutionanddlss_model. The fixture now uses the realupscaler_rows.hand the three real row definitions, and checks one reset per row and none for preset, frame-gen or rumble. That's stronger than the old stubbedurnamespace. - mods_size_table: a
hos_xinput_padsthat reports no pads fits this routing fixture.
CI: all ten target checks now pass on Linux and Windows. What's still failing (test_env_on, test_menu_i18n, test_hdr_encode, test_linux_docker_packages, test_mouse_native) fails the same way on main's latest run, and the PR body lists it as separate work.
Nit, not blocking: the eviction case in texel_buffer_ownership could also assert that imports_give_back charges dead_import_bytes. That would cover the other half of the accounting #1906 added.
Approving.
tapxgamestudio-coder
added a commit
to tapxgamestudio-coder/Hookshot
that referenced
this pull request
Nov 12, 2026
…ts' source slices test_audio_aux and test_audio_biquad (NotRexed#1544, NotRexed#2648) compile slices of host/nn_audio.c on their own: the reverb section up to the mixer, and #define FRAME up to mix_depth. The wheel's sounds sat in both, and their hos_game_path_a and MAX_PATH aren't there. The block now follows mix_depth, still before render_frame, which mixes its cues in. A move only; every tests/test_audio*.py passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tapxgamestudio-coder
added a commit
to tapxgamestudio-coder/Hookshot
that referenced
this pull request
Nov 12, 2026
…ts' source slices test_audio_aux and test_audio_biquad (NotRexed#1544, NotRexed#2648) compile slices of host/nn_audio.c on their own: the reverb section up to the mixer, and #define FRAME up to mix_depth. The wheel's sounds sat in both, and their hos_game_path_a and MAX_PATH aren't there. The block now follows mix_depth, still before render_frame, which mixes its cues in. A move only; every tests/test_audio*.py passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
notquiteog
added a commit
to notquiteog/Hookshot
that referenced
this pull request
Nov 12, 2026
…seeded, V-Sync Auto with DLSS Frame Gen, NotRexed#2746) Upstream fixed most of what e3f076a fixed here (NotRexed#2648, NotRexed#2651, NotRexed#2652, NotRexed#2653, NotRexed#2654, NotRexed#2661), so the conflicts are resolved to upstream's versions: its fixtures, its menu_i18n.h, its mouse_native.c, and its dlss_checks.h with the two-pixel tolerance it chose and tests. Kept from the fork: the fixtures' framegen_by_pick stand-in, and vk_texture.cpp's typed min. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
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.
What this is for: restore ten game-free checks whose extracted fixtures or expectations no longer match intentional changes on main; main's CI log shows these failures. What is measured: those ten checks on Linux with GCC 16.2.1 and Clang 23.1.3, plus the strict full suite and deliberate regression mutations, as detailed below. Not measured: a game run, Windows execution, audio output or GPU behavior; no production file changes in this diff.
Cause and changes
Each row is a separate commit, naming the change that made the fixture stale; the quoted diagnostics come from main's failed jobs.
audio_aux,audio_biquad:implicit declaration of function ‘env_on’display_startup_failure,wayland_libdecor_hint:use of undeclared identifier 'window_title'texel_buffer_ownership:use of undeclared identifier 'dead_import_bytes'readback_part:extraneous closing brace ('}')wait_recordeddefinition, not its new forward declaration.dlss_checks:FAIL under a third wide at line 40;framegen_preset/rumble_menu: undeclaredtemporal_reset_failuremods_size_table:undefined reference to hos_xinput_padsThe diff retains the existing assertions: no check is deleted or skipped, and it does not revert the production behavior named above.
How it was tested
Recorded on 2026-11-11, Linux kernel
7.2.15-1-omarchy; basede866017, headeeb09c09, GCC 16.2.1 and Clang 23.1.3 (compiler version output and test records).a016b7a6:455 passed, 15 failed, 20 skipped; each of these ten failures also reproduced alone with both compilers, matching the linked CI diagnostics.python -I -B tests/run_all.py --strict --jobs 1 <test>records).python -I -B tests/run_all.py --strictrun:464 passed, 6 failed, 20 skipped in 141 s, 32 workers, load 7.24 → 28.38 (complete suite output).Remaining failures and the path to green
The complete branch run names these six failures; the first five are outside this fixture-only diff:
test_env_on.pyfix/capture-switch-values: the three presence-only capture switch reads from #2437.test_linux_docker_packages.pytest/docker-ppa-options: distinguish--no-updatefrom its PPA operand.test_mouse_native.pyfix/mouse-camera-handover: discard retained angles while another camera owns the view.test_menu_i18n.pyfix/menu-hint-translations: update three complete hint keys and their translations.test_hdr_encode.pytest_release_scripts.pySHA256SUMS still differs from the files after 5 uploads. It passed untouched main and current main CI; isolated reruns passed once and failed once. Neither run invokes a C/C++ compiler.Not tested / risks
No Windows, game, display, controller, listening or GPU run was performed; the evidence above is game-free only. The fixture extraction still follows source structure, so future helper/signature changes must update its inputs rather than remove its behavioral guards.
Overlaps
The inspected merge hunks overlap #1834's frame-generation fixture helpers and #2622's older readback extraction; neither contains these repairs. #2614 owns the separate HDR initializer check. Other same-file changes merge cleanly in the recorded overlap comparison.
Assisted-by: GPT-6 Astra
Co-Authored-By: GPT-6 Astra noreply@openai.com