diff --git a/src/cmd/go/testdata/script/test_chatty_parallel_success_run.txt b/src/cmd/go/testdata/script/test_chatty_parallel_success_run.txt new file mode 100644 index 00000000000..b0f4cc19775 --- /dev/null +++ b/src/cmd/go/testdata/script/test_chatty_parallel_success_run.txt @@ -0,0 +1,41 @@ +# 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 -v + +stdout '=== RUN TestInterruptor/interruption\n=== CONT TestLog\n chatty_parallel_test.go:28: this is the second TestLog log\n--- PASS: TestLog \([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) +} diff --git a/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt b/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt deleted file mode 100644 index e651a7ed243..00000000000 --- a/src/cmd/go/testdata/script/test_chatty_parallel_success_sleepy.txt +++ /dev/null @@ -1,39 +0,0 @@ -# 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") -}