test: extend must-happen event wait bounds #472
No Reviewers
Dismiss Review
Are you sure you want to dismiss this review?
Labels
Clear labels
accessibility
all-platforms
area:agents
area:ai
area:chain
area:ci
area:client
area:daemon
area:p2p
area:project
area:protocol
area:runtime
area:storage
bug
chore
community
dependencies
discussion
discussion/Announcements
discussion/General
discussion/Ideas
discussion/Q&A
discussion/Show and tell
discussion/answered
documentation
duplicate
enhancement
good first issue
help wanted
i18n
infra
invalid
needs:decision
needs:hardware
paired
question
research
security
status:in-review
test
testing
tracking
wontfix
Barrier affecting people with disabilities
Run every platform's packaging and checks on this pull request, not only the three main ones
MCP server, skill, and thinking on the pool
Planner and model providers
Blockchain, SISY, verification
Continuous integration and build workflows
Desktop and web clients
sisyphusd coordinator, worker, scheduler
libp2p hosts, relays, discovery, connections between nodes
Project planning, roadmap, and governance
Protobuf schemas and RPC contracts
Workload execution and environments
Content-addressed storage, IPFS, Kubo, Cluster, S3, names, pinning
Something isn't working
Repository health, templates, Discussions, contributor experience
Updates to actions, Go modules or npm packages
Migrated from GitHub Discussions
GitHub Discussions category: Announcements
GitHub Discussions category: General
GitHub Discussions category: Ideas
GitHub Discussions category: Q&A
GitHub Discussions category: Show and tell
Q&A discussion with an accepted answer
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
Translations and right-to-left layouts
Build, CI, releases
This doesn't seem right
Waits on a decision from both owners
Waits on a machine we do not have yet
Built together by both maintainers, with co-authored commits
Further information is requested
Needs investigation or a design decision
Sealing, keys, access control, tokens, the security model
Built and in an open pull request; closes when it merges
Tests, test harnesses and the rehearsal
Roadmap and meta issues
This will not be worked on
type
Feature
A request, idea, or new functionality (GitHub issue type)
type
Task
A specific piece of work (GitHub issue type)
Milestone
No items
No Milestone
V0: prove the loop
Projects
Clear projects
No projects
Sisyphus roadmap
Done
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Sisyphus/Sisyphus#472
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
eventualWait: attempt expiry, collection retry, and remote web-listener failure.Verification
make cover— every statement covered (100%).make lint—go vetandstaticcheckpass.actionlintandgit diff --checkpass.Fixes #471
Thanks, good catch. My sweep for #466 only searched for
time.After(time.Second), so it missed these two deadline loops. Both changes look right to me, and so does thedocs/development.mdrule.I searched your branch for every short bound left in tests, to see what the new rule still leaves out:
One more must-happen wait with a tight bound:
apps/sisyphusd/web_access_runtime_test.go:148:deadline := time.Now().Add(2 * time.Second)waits for a listener failure to show in the live state. That has to happen, so by your rule it should useeventualWait. That package has noeventualWaityet. The root package has one inpins_test.go, so it's the same package (main) and can use it directly.Moderate bounds (3–5 s), consistent with the rule but not urgent:
pins_test.go358/372/438/490/762,reciprocal_test.go343/456,replication_test.go:206,replication/follower_test.go892/1028/1073,worker/worker_test.go177/290 andworker/offers_test.go:252. I'd leave these unless one flakes.Two tests where the short bound is the assertion, so a longer bound would defeat them:
pins_test.go:510: the first release must be collected within the 250 ms debounce window despite later releases.worker/peers_internal_test.go:140: the third relay stream must start within 400 ms because a healthy snapshot reset the backoff.Both measure wall-clock gaps, so heavy load could still make them flake. The real fix there would be an injected clock rather than a longer wait. Worth a separate issue if either shows up red.
If you'd like, I can push the
web_access_runtime_test.gochange onto this branch as one commit, so it all lands together under #471. Say yes and I'll do it; otherwise it's fine to merge as it is.Good catch — yes, please add the
web_access_runtime_test.gowait to this branch usingeventualWait, and include the focused test. I will hold merge until that update has full green CI. Thanks for the careful sweep./cc @rvnminers-A-and-N
Pushed
test: give the web listener failure the must-happen waitto this branch. It changesweb_access_runtime_test.go:148from 2 s toeventualWait(the root package already declares it inpins_test.go). Focused test:go test -race -count=20 -run ^TestRemoteWebAccessIsOptInTLSAndCanBeDisabled$ ./apps/sisyphusdpasses, and gofmt and vet are clean. Over to you to squash-merge once CI is green.Separately, a fourth full-suite
-race -count=4stress run ondevat7cf1adafinished clean overnight: no failures in any package.