| # Run parallel chatty tests. Assert on CONT lines. This test makes sure that |
| # multiple parallel outputs have the appropriate CONT lines between them. |
| go test -parallel 3 chatty_parallel_test.go -v |
| |
| stdout '--- PASS: TestFast \([0-9.]{4}s\)\n=== CONT TestSlow\n chatty_parallel_test.go:31: this is the second TestSlow log\n--- PASS: TestSlow \([0-9.]{4}s\)' |
| |
| -- chatty_parallel_test.go -- |
| package chatty_parallel_test |
| |
| import ( |
| "testing" |
| "time" |
| ) |
| |
| var ( |
| run = make(chan struct{}) |
| afterFirstLog = make(chan struct{}) |
| afterPass = make(chan struct{}) |
| ) |
| |
| func TestFast(t *testing.T) { |
| t.Parallel() |
| |
| <-afterFirstLog |
| t.Cleanup(func() { |
| close(afterPass) |
| }) |
| } |
| |
| func TestSlow(t *testing.T) { |
| t.Parallel() |
| |
| t.Logf("this is the first TestSlow log") |
| close(afterFirstLog) |
| |
| <-afterPass |
| time.Sleep(100 * time.Millisecond) |
| t.Logf("this is the second TestSlow log") |
| } |