Fix nats_test.go flaky tests (#37976)
Context: https://fleetdm.slack.com/archives/C019WG4GH0A/p1767759920870649 Looks like some of the tests in `nats_test.go` are failing due to timeouts. The timeout used for the context in these tests is 5 seconds. Instead of increasing it, I decided to reduce the number of logs that are written in tests as well as some sleep statements that I don't think are needed. Note that in `nats.go` we use `context.WithTimeout` so that's why the context deadline exceeded error is raised. <img width="747" height="373" alt="Screenshot 2026-01-07 at 9 38 04 AM" src="https://github.com/user-attachments/assets/1a817e8b-6a4a-4d43-9891-07f2791b82ea" /> ## Testing Did 5 test runs and measured the test completion time ### Before <img width="1211" height="230" alt="Screenshot 2026-01-07 at 9 39 59 AM" src="https://github.com/user-attachments/assets/cf22397b-1962-439c-831f-ef9cde6bf590" /> Completion time (avg): 1.23s ### After <img width="922" height="227" alt="Screenshot 2026-01-07 at 9 38 53 AM" src="https://github.com/user-attachments/assets/12e1bddd-a257-4313-ab89-e1339374796c" /> Completion time (avg): 0.31s
This commit is contained in:
@@ -20,7 +20,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
natsTestLogCount = 1000
|
||||
natsTestLogCount = 2
|
||||
natsTestDirectSubject = "test.logs.direct"
|
||||
natsTestStreamSubject = "test.logs.stream"
|
||||
natsTestStreamName = "test-logs-stream"
|
||||
@@ -68,15 +68,15 @@ func makeNatsServer(t *testing.T) *server.Server {
|
||||
return ns
|
||||
}
|
||||
|
||||
// makeNatsLogs creates a number of test logs.
|
||||
// makeNatsLogs creates test logs.
|
||||
func makeNatsLogs(t *testing.T) []json.RawMessage {
|
||||
t.Helper()
|
||||
|
||||
var logs []json.RawMessage
|
||||
|
||||
for n := range natsTestLogCount {
|
||||
for i := range natsTestLogCount {
|
||||
logs = append(logs,
|
||||
json.RawMessage(fmt.Sprintf(`{"foo":"bar %d"}`, n)),
|
||||
json.RawMessage(fmt.Sprintf(`{"foo":"bar %d"}`, i)),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -235,9 +235,6 @@ func TestNatsLogWriter(t *testing.T) {
|
||||
|
||||
require.Error(t, err)
|
||||
|
||||
// Wait a moment to ensure no messages were published.
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
|
||||
// Ensure no messages were received.
|
||||
lock.Lock()
|
||||
require.Equal(t, 0, seen)
|
||||
@@ -345,9 +342,6 @@ func TestNatsLogWriter(t *testing.T) {
|
||||
|
||||
require.Error(t, err)
|
||||
|
||||
// Wait a moment to ensure no messages were published.
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
|
||||
// Verify that the stream has no messages.
|
||||
info, err := st.Info(ctx)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user