test(input): give the Walk key fixture the Skip title screen's input hook #497
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!497
Loading…
Reference in a new issue
No description provided.
Delete branch "mooki/Longshot:fix/test-walk-key"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: test · Risk: low · Tested on: macOS 26.7.1, Apple M4 Max (game-free checks) · Needs: none
Why
tests/test_walk_key.pyfails on main before any of its assertions runs: its fixture no longer links. So the Walk key(#66) has no working game-free check, on any platform.
What changed
The Walk key test's fixture gets the empty
hos_oot_autoload_input()stand-in thatread_input()has needed since #399,so the check links and runs again. No assertion, product code or other test changes.
tests/test_walk_key.pydefines an emptyhos_oot_autoload_input()(Skip title screen off),the same stand-in
tests/test_input_background.pyhas had since #399. No assertion, product code or other testchanges.
ecb0f612) maderead_input()inhost/nn_hid.ccallhos_oot_autoload_input()(host/oot_autoload.c, the Skip title screen row's presses), and gave the fixture intests/test_input_background.pyan empty stand-in. #66 (8c1844a9), merged 34 seconds later, addedtests/test_walk_key.py, which also compilesread_input()on its own, but was written on a base without that call.The call is the intended behaviour; only the new fixture is stale.
carries the same two lines (see Risks). The rebase sweep's recommendation: keep this PR as rebased; if #537 merges
first, close this one as carried by #537 (its whole diff is then on main).
Measurements
Verdict: the check works again: on main
tests/test_walk_key.pyfails at the link, here it passes (once each afterthe rebase; two rounds in turn before it, the same results). The full game-free suite changes only by
test_walk_key,FAIL to pass. Pass or fail, so there is no timing median.
Commits: main
6c9edffe5d(2026-11-14); this PR fix/test-walk-key @cdf192b5b1.Hardware: Apple M4 Max (16 CPUs), 64 GB, macOS 26.7.1, Apple clang 21 (the test runs
gcc, which is Apple clang here).Game-free: no GPU, no game
Scene: none (a test fixture only)
Method:
tests/run_all.py test_walk_keyin turn. Before the rebase (main9c9d69ed, this PR5f3e1540): main, this PR,main, this PR. After it (main
6c9edffe, this PRcdf192b5): once each, the same results. The result is pass or fail, sothere is no timing median. A scratch copy with Walk broken shows the repaired check still catches it. The full game-free
suite on both sides, compared by test name.
How to reproduce:
python -I -B tests/test_walk_key.pyin each checkout (needs a C compiler)6c9edffecdf192b5tests/test_walk_key.pytests/run_all.py --jobs 6)Before the rebase, in turn:
9c9d69ed5f3e1540tests/test_walk_key.py, round 1tests/test_walk_key.py, round 2The repaired check still detects what it protects. Before the rebase, in a scratch copy of this PR's files,
walk_held()in
host/nn_hid.cmade to return 0 at once (Walk never held):Screenshots: none; nothing on screen.
Flags and settings
None.
Testing
Tested:
tests/test_walk_key.pyfails on main and passes here: two rounds in turn before the rebase, one after it.passed. Main has not changed
host/nn_hid.cor this test since.test_walk_key: FAIL on main,pass here.
requests, some are checks main added or changed since
5e072fc8):test_appimage_package_retry,test_appimage_player_build,test_collect_wide,test_control,test_cpm_discovery,test_crash_dialog,test_crash_record,test_env_on,test_game_layout,test_lift_cleanup_error,test_linux_preflight,test_longshot_ctl,test_low_memory_notice,test_make_game_cache,test_mem_gate,test_mem_gate_children,test_mirror_trim,test_oot_state_tap,test_pcache_header_read,test_pipeline_cache_file,test_pipeline_cache_save,test_pipeline_play_cache,test_pipeline_tour,test_prof_symbols,test_program_cache_cleanup,test_program_cache_one_variant,test_readback_late,test_report_run,test_split_giants,test_vk_pgo,test_vram_budget_row.recorder_sync_test.exe-2026-11-14-180744.ips).
aa95d35f, atc74127cc(cdf192b5before the rebases ontoe090cc48andaa95d35f):Sweep3's checks of this head (the C/C++ it changes compiled, and its own tests run, on arm64 and x86_64 where they
apply) gave the same results as before;
python -I -B tests/run_all.pyon wave S1's merge11a5b4e7, which carriesthis head: 568/22/17 (passed/failed/skipped) against main aa95d35f's 543/33/17 on this Mac, no new failure
(
reports/2026-11-15-rebase-sweep-3.md).Not tested:
#537's author ran the same fixture line there (Linux x86-64, gcc 15.2, main
1be60eae): on mainundefined reference to hos_oot_autoload_input, with the line the test links and passes. lld on Windows refuses it as well [inference: notrun there]. The fix is one empty C function, which
tests/test_input_background.pyalready compiles on every platform.Must be tested: None: a game-free fixture, no product code. The added line is the empty C function
tests/test_input_background.pyalready compiles on every platform; #537's run of the same line on Linux (above) showsthe Linux side, and macOS is covered under Tested. Running it on Windows would confirm the "fails on main" side there.
Risks
What could break: test-only. The empty stand-in means this check never presses through the title screen; the Skip
title presses have their own check (
tests/test_skip_title.py), and the Walk check never exercised them.mode set to Hold in the Insert menu drops a toggled walk", ready for review) carries the same two lines in
tests/test_walk_key.pyand says so; the two merge without a conflict (git merge-tree). Whichever lands first, theother's copy of the lines is already there: if #537 lands first, this PR has nothing left and closes (the rebase
sweep's recommendation: keep this PR as rebased; if #537 merges first, close it as carried by #537).
read_input()'s window gate inhost/nn_hid.cbut not this test; they apply independently.Turning it off: revert the commit: that restores the link failure.
Compatibility: Nothing changes: a test fixture only.
Issues
See #66 and #399.
Checklist
Everyone
type(scope): description) of the status line's type.main: onaa95d35f(#761, 2026-11-15), headc74127cc, without a conflict. Main still failsthe check without it; this PR's own commits, old → new:
cdf192b5→c74127cc; the commit names elsewhere in thisdescription are from before the rebase.
python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). On macOS: 532 passed, 17skipped, and 31 failures that also fail on main
6c9edffeon this Mac, named under Testing. After the rebase onto mainaa95d35f(headc74127cc): wave S1's merge11a5b4e7, 568/22/17 against main aa95d35f's 543/33/17, no new failure.third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.tests/that reads changed source updated in this PR, not weakened.zeldaootr referenced this pull request2026-11-14 18:04:53 +00:00
zeldaootr referenced this pull request2026-11-14 18:41:40 +00:00
mooki referenced this pull request2026-11-14 21:08:04 +00:00
zeldaootr referenced this pull request2026-11-15 00:55:49 +00:00
zeldaootr referenced this pull request2026-11-15 00:56:00 +00:00
5f3e15404acdf192b5b1cdf192b5b1d567d20e2bd567d20e2bc74127cc9aWIP: test(input): give the Walk key fixture the Skip title screen's input hookto test(input): give the Walk key fixture the Skip title screen's input hookView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.