fix: improve test suite reliability for CI#511
Merged
jordan-rash merged 3 commits intomainfrom Mar 25, 2026
Merged
Conversation
Contributor
jordan-rash
commented
Mar 25, 2026
- Add ReadyForConnections(5s) after every NATS server.Start() to prevent "nats: timeout" errors when connecting before server is ready
- Fix broken shutdown guards that looped Shutdown() when NumClients==0 instead of always calling it; replace with simple defer s.Shutdown()
- Add IsReady(timeout) polling helper to NexNode; replaces CPU-burning spin loops and sleep-poll patterns across all test callers
- Add WaitFor polling helper to _test/helpers.go; replace fixed time.Sleep assertions in client and agent tests with condition polling
- Remove unnecessary time.Sleep calls in cmd/nex/node_test.go where Run() is synchronous
- Add ReadyForConnections(5s) after every NATS server.Start() to prevent "nats: timeout" errors when connecting before server is ready - Fix broken shutdown guards that looped Shutdown() when NumClients==0 instead of always calling it; replace with simple defer s.Shutdown() - Add IsReady(timeout) polling helper to NexNode; replaces CPU-burning spin loops and sleep-poll patterns across all test callers - Add WaitFor polling helper to _test/helpers.go; replace fixed time.Sleep assertions in client and agent tests with condition polling - Remove unnecessary time.Sleep calls in cmd/nex/node_test.go where Run() is synchronous Signed-off-by: Jordan Rash <jordan@synadia.com>
- Fix data race in AgentRegistrations.startHealthMonitor: acquire rwLock.RLock before iterating Registrations map, which is concurrently written by Add() - Wrap all client test Auction calls in WaitFor polling retry to handle transient RequestMany stall timeouts under heavy parallel CI load - Add inline auction retry in inmem_test.go (cannot import _test helper due to circular dependency) and increase context timeout 3s→30s - Increase IsReady timeout in StartNexus helper 10s→30s for parallel test scenarios on slow CI runners Signed-off-by: Jordan Rash <jordan@synadia.com>
Signed-off-by: Jordan Rash <jordan@synadia.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.