blob: 1d4b6d631898e11f6ba48b59536d2462ddd92c41 [file] [log] [blame]
# Run parallel chatty tests. Assert on CONT or NAME lines. This test makes sure that
# multiple parallel outputs have the appropriate CONT lines between them.
go test -parallel 3 chatty_parallel -v
stdout '=== RUN TestInterruptor/interruption\n=== (CONT|NAME) TestLog\n chatty_parallel_test.go:28: this is the second TestLog log\n--- PASS: Test(Log|Interruptor) \([0-9.]{4}s\)'
-- go.mod --
module chatty_parallel
go 1.18
-- chatty_parallel_test.go --
package chatty_parallel_test
import (
"testing"
)
var (
afterFirstLog = make(chan struct{})
afterSubTest = make(chan struct{})
afterSecondLog = make(chan struct{})
)
func TestInterruptor(t *testing.T) {
t.Parallel()
<-afterFirstLog
t.Run("interruption", func (t *testing.T) {})
close(afterSubTest)
<-afterSecondLog // Delay the "PASS: TestInterruptor" line until after "CONT TestLog".
}
func TestLog(t *testing.T) {
t.Parallel()
t.Logf("this is the first TestLog log")
close(afterFirstLog)
<-afterSubTest
t.Logf("this is the second TestLog log")
close(afterSecondLog)
}