test(scripts): the pipeline tour check's stale snapshot is older than calm's tolerance #627
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 @ 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!627
Loading…
Reference in a new issue
No description provided.
Delete branch "zeldaootr/Longshot:fix-pipeline-tour-check-stale-snapshot"
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, no GPU (game-free check) · Needs: none
Why
tests/test_pipeline_tour.pyhas failed onmainsince the pipeline tour merged (#111), somainis red before a release candidate. The tour is right:calmtakes a snapshot as current when it is at mostSTALE_FRAMES(10) presents older than its reply, as docs/control.md allows for a snapshot made at Link's update, and #111's description says so. The check's fake bridge kept a "stale" snapshot only one frame old, whichcalmrightly took. No open pull request or claim covers it.How to reproduce
Seen on: Linux (Ubuntu 24.04), no GPU
Settings and switches: none
Steps: on
mainaa95d35f, runpython -I -B tests/test_pipeline_tour.pyExpected:
pipeline tour: source, route, presses, command line, lists, bridge, memory guard, worth and renderer profile okActual:
pipeline tour: calm took a stale snapshot (game.frame 2635, reply 2637) for controlWhat changed
Test-only: the fake bridge's kept snapshot is
STALE_FRAMES + 1frames older than the frame it starts at, past whatfreshaccepts, so the case tests what it says: a snapshot kept from before a load is not taken for control. No product file changes.tests/test_pipeline_tour.py:fake.stale_from = fake.frame - tour.STALE_FRAMES - 1(wasfake.frame - 1). Acalmthat ignoresfreshstill fails it (tried:calm took a stale snapshot (game.frame 2625, reply 2637)).Measurements
Verdict: passes: the check fails on
mainand passes on this branch in two interleaved rounds.Hardware: Linux (Ubuntu 24.04, kernel 6.8), x86-64, no GPU used; Python 3.15
Scene: no game: the game-free check and its fake bridge
Method: the check run alone, round 1 on main then this branch, round 2 the same again
How to reproduce:
python -I -B tests/test_pipeline_tour.pyon each commitaa95d35f18281d3eFlags and settings
None
Testing
Tested: on Linux, the check failing on main
aa95d35fand passing here in two interleaved rounds (before this rebase, the same on main6c9edffeat63ae6d3b), and failing again withcalm'sst["fresh"]taken out. It arrived red with #111 (6c9edffe), whose description says the fake bridge's stale-snapshot case was read, not run. The full suite (python -I -B tests/run_all.py, Linux,LONGSHOT_VULKAN_HEADERSset) on main6c9edffewith this and the six other red-check repairs from the same sweep merged locally (1ba90202, not pushed): 525 passed, 4 failed, 51 skipped. Three of the failures fail on main too and have their own pull requests:tests/test_walk_key.py(#497),tests/test_cpm_discovery.py(#561),tests/test_make_game_cache.py(#592). The fourth,tests/test_crash_record.py, timed out waiting 10 s for a signalled child under load and passes alone, twice. Rebased since onto mainaa95d35f, the commit re-authored under the forge's noreply address: its change is identical to before bygit patch-id; onaa95d35fthe check also ran through the runner with g++ 13.3 and with clang 23.1.5, failing on main and passing here.Not tested: Windows: the check is skipped there (
RUN_ALL_SKIP: the tour runs on Linux).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. Onto mainaa95d35fwith no conflict; the change is identical to before bygit patch-id.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). The full run is the one in Testing, on main6c9edffe; after the rebase ontoaa95d35f, the changed check through the runner with g++ and clang, as above.third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.STALE_FRAMES63ae6d3bbc18281d3eb2Rebased onto
mainaa95d35f(head18281d3e); the commits are re-authored with the forge's noreply address: no code change, the same patches bygit patch-id.Test re-run:
test_pipeline_tourfails on mainaa95d35f(calm took a stale snapshot) and passes here, two interleaved rounds, and through the runner with g++ and clang; the description names the new commit.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.