test(mods): the size table check's fixture gives prompts.c the settings file it reads since #729 #866
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!866
Loading…
Reference in a new issue
No description provided.
Delete branch "zeldaootr/Longshot:fix-mods-size-table-check-options-file"
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: Linux x86-64, no GPU (game-free check) · Needs: none
Why
tests/test_mods_size_table.pyhas failed onmainon Linux since #729: its fixture no longer links, so the check that a mod's resource size table keeps the button prompts' font (the Switch's icons in every text otherwise) has not run at all. The product is right; the fixture lacks the one functionhost/prompts.ccalls since that merge. The Windows sweep of red checks does not see it, since the check's part that buildsprompts.cruns on Linux only. I searched the open pull requests, the issues and the team chat: nothing covers it.How to reproduce
Seen on: Linux (Ubuntu 24.04), no GPU; gcc 13.3 and clang 23.1.5
Settings and switches: none
Steps: on
mainaa95d35f, runpython -I -B tests/test_mods_size_table.py --cc gccExpected: the merge checks, the 6 documented RomFS example checks and the 10 routing cases
ok, as at370cd0e0, the commit before #729Actual: the fixture fails to link:
prompts.c: in function choose_face: undefined reference to hos_options_file, and the check stops withCalledProcessErrorafter the merge checksWhat changed
Test-only: the routing fixture defines
hos_options_file()as the game answers it when started without--user, the game folder'slongshot_options.ini, which is where each case already writesbutton_prompts=2.host/prompts.candhost/mods.care still compiled as they are; no product file changes, and no assertion changes.tests/test_mods_size_table.pyrouting_checks(): the fixture'smain.cgainshos_options_file()(beside the game, fromTEST_GAME_EXE), astests/test_walk_key.pyandtests/test_bound_keys.pystand it in.Measurements
Verdict: nothing to measure in the game: a test-only change. The check fails on
mainaa95d35fand passes on this PR, with gcc and clang, two interleaved rounds.Hardware: Linux (Ubuntu 24.04, kernel 6.8), x86-64, no GPU used; Python 3.15, gcc 13.3, clang 23.1.5
Scene: no game: the game-free check
Method: the check run alone, round 1 on main then this branch with each compiler, round 2 the same again; whether the fixture links and how many
oklines it printsHow to reproduce:
python -I -B tests/test_mods_size_table.py --cc gcc(and--cc clang) on each commitaa95d35fok) / link failsok/ 8 of 8okok) / link failsok/ 8 of 8okFlags and settings
None
Testing
Tested: Linux x86-64, the check alone on
mainaa95d35fand on this branch, two interleaved rounds, with gcc 13.3 and clang 23.1.5: it fails to link onmainand passes here. It passes at370cd0e0and fails at9e6f231d(#729), which is what turned it red.Not tested: Windows and macOS: there the check runs only its merge part, which never built
choose_face(), and skips the routing part, so nothing changes for them. Thezstandardcases (compressed size tables): the package isn't installed here, so the check skips them, onmainas on this branch. The fullpython -I -B tests/run_all.pyon this branch (see the checklist).Must be tested: None
Risks
What could break: only this check.
Turning it off: revert the commit
Compatibility: Nothing changes
Checklist
Everyone
type(scope): description) of the status line's type.main.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). 529 passed, 14 failed, 50 skipped on Linux with g++. All 14 also fail onmainon this PC:test_appimage_player_build,test_bake_portability,test_cpm_discovery,test_crash_dialog,test_env_on,test_lift_cache,test_lift_cleanup_error,test_make_game_cache,test_options_budget_once,test_pipeline_tour,test_readback_late,test_vk_pgo,test_walk_key,nx2/test_texture_init_barrier.test_mods_size_table, red onmain, passes here.third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.