| go test -json |
| |
| stdout '"Action":"output","Package":"p","Output":"M1"}' |
| stdout '"Action":"output","Package":"p","Test":"Test","Output":"=== RUN Test\\n"}' |
| stdout '"Action":"output","Package":"p","Test":"Test","Output":"T1"}' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub1","Output":"=== RUN Test/Sub1\\n"}' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub1","Output":"Sub1 x_test.go:19: SubLog1\\n"}' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub1","Output":"Sub2"}' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub1","Output":"--- PASS: Test/Sub1 \([\d.]+s\)\\n"}' |
| stdout '"Action":"pass","Package":"p","Test":"Test/Sub1","Elapsed"' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub3","Output":"foo bar"}' |
| stdout '"Action":"output","Package":"p","Test":"Test/Sub3","Output":"baz\\n"}' |
| stdout '"Action":"output","Package":"p","Test":"Test","Output":"T2"}' |
| stdout '"Action":"output","Package":"p","Test":"Test","Output":"--- PASS: Test \([\d.]+s\)\\n"}' |
| stdout '"Action":"pass","Package":"p","Test":"Test","Elapsed"' |
| stdout '"Action":"output","Package":"p","Output":"M2ok \\tp\\t[\d.]+s\\n"}' |
| stdout '"Action":"pass","Package":"p","Elapsed"' |
| |
| -- go.mod -- |
| module p |
| |
| -- x_test.go -- |
| package p |
| |
| import ( |
| "os" |
| "testing" |
| ) |
| |
| func TestMain(m *testing.M) { |
| print("M1") |
| code := m.Run() |
| print("M2") |
| os.Exit(code) |
| } |
| |
| func Test(t *testing.T) { |
| print("T1") |
| t.Run("Sub1", func(t *testing.T) { |
| print("Sub1") |
| t.Log("SubLog1") |
| print("Sub2") |
| }) |
| t.Run("Sub3", func(t *testing.T) { |
| print("\x16foo bar\x16baz\n") |
| }) |
| print("T2") |
| } |