Skip to content

Commit ac81e9f

Browse files
adonovangopherbot
authored andcommitted
internal/testenv: RedirectStderr: fix race
Fixes golang/go#71430 Change-Id: Ie614d3b9fc49b6f8878b82997c1aa50b25523a68 Reviewed-on: https://go-review.googlesource.com/c/tools/+/644677 Auto-Submit: Alan Donovan <[email protected]> Reviewed-by: Robert Findley <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent bce67c4 commit ac81e9f

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

internal/testenv/testenv.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,11 +568,13 @@ func RedirectStderr(t testing.TB) {
568568
if err != nil {
569569
t.Fatalf("pipe: %v", err)
570570
}
571+
done := make(chan struct{})
571572
go func() {
572573
for sc := bufio.NewScanner(r); sc.Scan(); {
573574
t.Log(sc.Text())
574575
}
575576
r.Close()
577+
close(done)
576578
}()
577579

578580
// Also do the same for the global logger.
@@ -590,5 +592,8 @@ func RedirectStderr(t testing.TB) {
590592
log.SetOutput(savedWriter)
591593
log.SetPrefix(savedPrefix)
592594
log.SetFlags(savedFlags)
595+
596+
// Don't let test finish before final t.Log.
597+
<-done
593598
})
594599
}

0 commit comments

Comments
 (0)