Leaked goroutines are the only explanation I can think of for excess
allocs in TestDiscard, and TestOutputRace is the only place I can see
where the log package leaks goroutines. Let's fix that leak and see if
it eliminates the TestDiscard flakes.
Fixes #58797 (maybe).
Change-Id: I2d54dcba3eb52bd10a62cd1c380131add6a2f651
Reviewed-on: https://go-review.googlesource.com/c/go/+/487356
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
func TestOutputRace(t *testing.T) {
var b bytes.Buffer
l := New(&b, "", 0)
+ var wg sync.WaitGroup
+ wg.Add(100)
for i := 0; i < 100; i++ {
go func() {
+ defer wg.Done()
l.SetFlags(0)
l.Output(0, "")
}()
}
+ wg.Wait()
}
func TestFlagAndPrefixSetting(t *testing.T) {