Skip to content

Commit e36dc44

Browse files
authored
Fix flaky concurrency logs test (#1804)
1 parent 75a6f4b commit e36dc44

File tree

1 file changed

+39
-22
lines changed

1 file changed

+39
-22
lines changed

plugins/inputs/logfile/logfile_test.go

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -765,16 +765,27 @@ func TestLogsFileWithRangeGaps(t *testing.T) {
765765
evts <- e
766766
})
767767

768-
e := <-evts
769-
el := "Content\n"
770-
if e.Message() != el {
771-
t.Errorf("Wrong log found after offset: \n%v\nExpecting:\n%v\n", e.Message(), el)
768+
// Collect both events (order may vary due to gap processing)
769+
var events []logs.LogEvent
770+
events = append(events, <-evts)
771+
events = append(events, <-evts)
772+
773+
// Verify we got the expected messages regardless of order
774+
expectedMessages := map[string]bool{"Content\n": false, "Range": false}
775+
for _, e := range events {
776+
msg := e.Message()
777+
if _, exists := expectedMessages[msg]; exists {
778+
expectedMessages[msg] = true
779+
} else {
780+
t.Errorf("Unexpected log message: %v", msg)
781+
}
772782
}
773783

774-
e = <-evts
775-
el = "Range"
776-
if e.Message() != el {
777-
t.Errorf("Wrong log found after offset: \n%v\nExpecting:\n%v\n", e.Message(), el)
784+
// Check that all expected messages were received
785+
for msg, received := range expectedMessages {
786+
if !received {
787+
t.Errorf("Expected message not received: %v", msg)
788+
}
778789
}
779790

780791
lsrc.Stop()
@@ -824,22 +835,28 @@ func TestLogsFileWithEOFRangeGaps(t *testing.T) {
824835
evts <- e
825836
})
826837

827-
e := <-evts
828-
el := "Content"
829-
if e.Message() != el {
830-
t.Errorf("Wrong log found after offset: \n%v\nExpecting:\n%v\n", e.Message(), el)
831-
}
832-
833-
e = <-evts
834-
el = "bbbbb"
835-
if e.Message() != el {
836-
t.Errorf("Wrong log found after offset: \n%v\nExpecting:\n%v\n", e.Message(), el)
838+
// Collect all three events (order may vary due to gap processing)
839+
var events []logs.LogEvent
840+
events = append(events, <-evts)
841+
events = append(events, <-evts)
842+
events = append(events, <-evts)
843+
844+
// Verify we got the expected messages regardless of order
845+
expectedMessages := map[string]bool{"Content": false, "bbbbb": false, "Range": false}
846+
for _, e := range events {
847+
msg := e.Message()
848+
if _, exists := expectedMessages[msg]; exists {
849+
expectedMessages[msg] = true
850+
} else {
851+
t.Errorf("Unexpected log message: %v", msg)
852+
}
837853
}
838854

839-
e = <-evts
840-
el = "Range"
841-
if e.Message() != el {
842-
t.Errorf("Wrong log found after offset: \n%v\nExpecting:\n%v\n", e.Message(), el)
855+
// Check that all expected messages were received
856+
for msg, received := range expectedMessages {
857+
if !received {
858+
t.Errorf("Expected message not received: %v", msg)
859+
}
843860
}
844861

845862
lsrc.Stop()

0 commit comments

Comments
 (0)