diff --git a/.golangci.yml b/.golangci.yml index 8279d6d2..24ef6a4d 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -20,6 +20,9 @@ issues: text: 'result .* is always' - linters: [unparam] text: 'always receives' + # Remove once go1.16 is dropped + - linters: staticcheck + text: 'env.Patch is deprecated' linters: disable-all: true diff --git a/cmd/handler_test.go b/cmd/handler_test.go index f5a742f2..09dde51c 100644 --- a/cmd/handler_test.go +++ b/cmd/handler_test.go @@ -28,7 +28,7 @@ func TestPostRunHook(t *testing.T) { stdout: buf, } - defer env.Patch(t, "GOTESTSUM_FORMAT", "short")() + env.Patch(t, "GOTESTSUM_FORMAT", "short") exec := newExecFromTestData(t) err = postRunHook(opts, exec) diff --git a/go.mod b/go.mod index 6aefe2f1..a275166a 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 golang.org/x/tools v0.1.0 - gotest.tools/v3 v3.0.3 + gotest.tools/v3 v3.3.0 ) go 1.13 diff --git a/go.sum b/go.sum index ddeba7b9..41eec4c0 100644 --- a/go.sum +++ b/go.sum @@ -4,7 +4,6 @@ github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -15,7 +14,6 @@ github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= @@ -25,7 +23,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -47,7 +44,6 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= @@ -56,5 +52,5 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= +gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= diff --git a/internal/junitxml/report_test.go b/internal/junitxml/report_test.go index 056588da..3fc1e45b 100644 --- a/internal/junitxml/report_test.go +++ b/internal/junitxml/report_test.go @@ -19,7 +19,7 @@ func TestWrite(t *testing.T) { out := new(bytes.Buffer) exec := createExecution(t) - defer env.Patch(t, "GOVERSION", "go7.7.7")() + env.Patch(t, "GOVERSION", "go7.7.7") err := Write(out, exec, Config{customTimestamp: new(time.Time).Format(time.RFC3339)}) assert.NilError(t, err) golden.Assert(t, out.String(), "junitxml-report.golden") @@ -42,7 +42,7 @@ func readTestData(t *testing.T, stream string) io.Reader { func TestGoVersion(t *testing.T) { t.Run("unknown", func(t *testing.T) { - defer env.Patch(t, "PATH", "/bogus")() + env.Patch(t, "PATH", "/bogus") assert.Equal(t, goVersion(), "unknown") }) diff --git a/testjson/execution.go b/testjson/execution.go index d9103d43..626d99e6 100644 --- a/testjson/execution.go +++ b/testjson/execution.go @@ -107,6 +107,9 @@ type Package struct { // github.com/golang/go/issues/45508. This field may be removed in the future // if the issue is fixed in Go. panicked bool + // shuffleSeed is the seed used to shuffle the tests. The value is set when + // tests are run with -shuffle + shuffleSeed string } // Result returns if the package passed, failed, or was skipped because there @@ -344,9 +347,12 @@ func (p *Package) addEvent(event TestEvent) { if isCoverageOutput(event.Output) { p.coverage = strings.TrimRight(event.Output, "\n") } - if isCachedOutput(event.Output) { + if strings.Contains(event.Output, "\t(cached)") { p.cached = true } + if isShuffleSeedOutput(event.Output) { + p.shuffleSeed = strings.TrimRight(event.Output, "\n") + } p.addOutput(0, event.Output) } } @@ -437,8 +443,8 @@ func isCoverageOutput(output string) bool { strings.Contains(output, "% of statements")) } -func isCachedOutput(output string) bool { - return strings.Contains(output, "\t(cached)") +func isShuffleSeedOutput(output string) bool { + return strings.HasPrefix(output, "-test.shuffle ") } func isWarningNoTestsToRunOutput(output string) bool { diff --git a/testjson/format.go b/testjson/format.go index 29f6d421..4ad0860f 100644 --- a/testjson/format.go +++ b/testjson/format.go @@ -66,14 +66,8 @@ func testNameFormat(event TestEvent, exec *Execution) (string, error) { result = colorEvent(event)("EMPTY") } - var cached string - if pkg.cached { - cached = cachedMessage - } - return fmt.Sprintf("%s %s%s\n", - result, - RelativePackagePath(event.Package), - cached), nil + event.Elapsed = 0 // hide elapsed for now, for backwards compat + return result + " " + packageLine(event, exec), nil case event.Action == ActionFail: pkg := exec.Package(event.Package) @@ -121,6 +115,7 @@ func isPkgFailureOutput(event TestEvent) bool { !strings.HasPrefix(out, "FAIL\t"+event.Package), !strings.HasPrefix(out, "ok \t"+event.Package), !strings.HasPrefix(out, "? \t"+event.Package), + !isShuffleSeedOutput(out), ) } @@ -133,41 +128,18 @@ func all(cond ...bool) bool { return true } -const cachedMessage = " (cached)" - func pkgNameFormat(event TestEvent, exec *Execution) (string, error) { if !event.PackageEvent() { return "", nil } - return shortFormatPackageEvent(event, exec) + return shortFormatPackageEvent(event, exec), nil } -func shortFormatPackageEvent(event TestEvent, exec *Execution) (string, error) { +func shortFormatPackageEvent(event TestEvent, exec *Execution) string { pkg := exec.Package(event.Package) - fmtElapsed := func() string { - if pkg.cached { - return cachedMessage - } - d := elapsedDuration(event.Elapsed) - if d == 0 { - return "" - } - return fmt.Sprintf(" (%s)", d) - } - fmtCoverage := func() string { - if pkg.coverage == "" { - return "" - } - return " (" + pkg.coverage + ")" - } - fmtEvent := func(action string) (string, error) { - return fmt.Sprintf("%s %s%s%s\n", - action, - RelativePackagePath(event.Package), - fmtElapsed(), - fmtCoverage(), - ), nil + fmtEvent := func(action string) string { + return action + " " + packageLine(event, exec) } withColor := colorEvent(event) switch event.Action { @@ -181,7 +153,32 @@ func shortFormatPackageEvent(event TestEvent, exec *Execution) (string, error) { case ActionFail: return fmtEvent(withColor("✖")) } - return "", nil + return "" +} + +func packageLine(event TestEvent, exec *Execution) string { + pkg := exec.Package(event.Package) + + var buf strings.Builder + buf.WriteString(RelativePackagePath(event.Package)) + + switch { + case pkg.cached: + buf.WriteString(" (cached)") + case event.Elapsed != 0: + d := elapsedDuration(event.Elapsed) + buf.WriteString(fmt.Sprintf(" (%s)", d)) + } + + if pkg.coverage != "" { + buf.WriteString(" (" + pkg.coverage + ")") + } + + if event.Action == ActionFail && pkg.shuffleSeed != "" { + buf.WriteString(" (" + pkg.shuffleSeed + ")") + } + buf.WriteString("\n") + return buf.String() } func pkgNameWithFailuresFormat(event TestEvent, exec *Execution) (string, error) { @@ -193,7 +190,7 @@ func pkgNameWithFailuresFormat(event TestEvent, exec *Execution) (string, error) } return "", nil } - return shortFormatPackageEvent(event, exec) + return shortFormatPackageEvent(event, exec), nil } func colorEvent(event TestEvent) func(format string, a ...interface{}) string { diff --git a/testjson/format_test.go b/testjson/format_test.go index d8522c01..ada8cc96 100644 --- a/testjson/format_test.go +++ b/testjson/format_test.go @@ -180,7 +180,7 @@ func TestScanTestOutput_WithPkgNameFormat_WithCoverage(t *testing.T) { assert.DeepEqual(t, exec, expectedCoverageExecution, cmpExecutionShallow) } -func TestScanTestOutputWithStandardVerboseFormat(t *testing.T) { +func TestScanTestOutput_WithStandardVerboseFormat(t *testing.T) { defer patchPkgPathPrefix("github.com/gotestyourself/gotestyourself")() shim := newFakeHandlerWithAdapter(standardVerboseFormat, "go-test-json") @@ -192,7 +192,7 @@ func TestScanTestOutputWithStandardVerboseFormat(t *testing.T) { assert.DeepEqual(t, exec, expectedExecution, cmpExecutionShallow) } -func TestScanTestOutputWithStandardQuietFormat(t *testing.T) { +func TestScanTestOutput_WithStandardQuietFormat(t *testing.T) { defer patchPkgPathPrefix("github.com/gotestyourself/gotestyourself")() shim := newFakeHandlerWithAdapter(standardQuietFormat, "go-test-json") @@ -204,7 +204,7 @@ func TestScanTestOutputWithStandardQuietFormat(t *testing.T) { assert.DeepEqual(t, exec, expectedExecution, cmpExecutionShallow) } -func TestScanTestOutputWithStandardQuietFormat_WithCoverage(t *testing.T) { +func TestScanTestOutput_WithStandardQuietFormat_WithCoverage(t *testing.T) { defer patchPkgPathPrefix("gotest.tools")() shim := newFakeHandlerWithAdapter(standardQuietFormat, "go-test-json-with-cover") @@ -256,3 +256,30 @@ var expectedCoverageExecution = &Execution{ }, }, } + +func TestScanTestOutput_WithStandardVerboseFormat_WithShuffle(t *testing.T) { + shim := newFakeHandlerWithAdapter(standardVerboseFormat, "go-test-json-with-shuffle") + _, err := ScanTestOutput(shim.Config(t)) + + assert.NilError(t, err) + golden.Assert(t, shim.out.String(), "standard-verbose-format-shuffle.out") + golden.Assert(t, shim.err.String(), "go-test.err") +} + +func TestScanTestOutput_WithTestNameFormat_WithShuffle(t *testing.T) { + shim := newFakeHandlerWithAdapter(testNameFormat, "go-test-json-with-shuffle") + _, err := ScanTestOutput(shim.Config(t)) + + assert.NilError(t, err) + golden.Assert(t, shim.out.String(), "testname-format-shuffle.out") + golden.Assert(t, shim.err.String(), "go-test.err") +} + +func TestScanTestOutput_WithPkgNameFormat_WithShuffle(t *testing.T) { + shim := newFakeHandlerWithAdapter(pkgNameFormat, "go-test-json-with-shuffle") + _, err := ScanTestOutput(shim.Config(t)) + + assert.NilError(t, err) + golden.Assert(t, shim.out.String(), "pkgname-format-shuffle.out") + golden.Assert(t, shim.err.String(), "go-test.err") +} diff --git a/testjson/testdata/go-test-json-with-shuffle.err b/testjson/testdata/go-test-json-with-shuffle.err new file mode 100644 index 00000000..a19e6f35 --- /dev/null +++ b/testjson/testdata/go-test-json-with-shuffle.err @@ -0,0 +1,2 @@ +# gotest.tools/gotestsum/testjson/internal/broken +internal/broken/broken.go:5:21: undefined: somepackage diff --git a/testjson/testdata/go-test-json-with-shuffle.out b/testjson/testdata/go-test-json-with-shuffle.out new file mode 100644 index 00000000..07606063 --- /dev/null +++ b/testjson/testdata/go-test-json-with-shuffle.out @@ -0,0 +1,328 @@ +{"Time":"2022-06-18T15:11:13.719272566-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/badmain","Output":"sometimes main can exit 2\n"} +{"Time":"2022-06-18T15:11:13.719382289-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/badmain","Output":"FAIL\tgotest.tools/gotestsum/testjson/internal/badmain\t0.001s\n"} +{"Time":"2022-06-18T15:11:13.719390039-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/badmain","Elapsed":0.001} +{"Time":"2022-06-18T15:11:13.777704512-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Output":"-test.shuffle 123456\n"} +{"Time":"2022-06-18T15:11:13.777734483-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithLog"} +{"Time":"2022-06-18T15:11:13.777740216-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithLog","Output":"=== RUN TestPassedWithLog\n"} +{"Time":"2022-06-18T15:11:13.777748282-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithLog","Output":" good_test.go:15: this is a log\n"} +{"Time":"2022-06-18T15:11:13.77775809-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithLog","Output":"--- PASS: TestPassedWithLog (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777763923-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithLog","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777767625-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkippedWitLog"} +{"Time":"2022-06-18T15:11:13.77776999-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkippedWitLog","Output":"=== RUN TestSkippedWitLog\n"} +{"Time":"2022-06-18T15:11:13.777773479-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkippedWitLog","Output":" good_test.go:27: the skip message\n"} +{"Time":"2022-06-18T15:11:13.777780786-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkippedWitLog","Output":"--- SKIP: TestSkippedWitLog (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777786682-04:00","Action":"skip","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkippedWitLog","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777790402-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithStdout"} +{"Time":"2022-06-18T15:11:13.777792719-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithStdout","Output":"=== RUN TestPassedWithStdout\n"} +{"Time":"2022-06-18T15:11:13.777795382-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithStdout","Output":"this is a Print\n"} +{"Time":"2022-06-18T15:11:13.777798646-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithStdout","Output":"--- PASS: TestPassedWithStdout (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777801558-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassedWithStdout","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777804473-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.777807157-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond","Output":"=== RUN TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.777814099-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond","Output":"=== PAUSE TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.777817138-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.777819749-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.7778274-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird","Output":"=== RUN TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.777832237-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird","Output":"=== PAUSE TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.777834773-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.777837166-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassed"} +{"Time":"2022-06-18T15:11:13.777839375-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassed","Output":"=== RUN TestPassed\n"} +{"Time":"2022-06-18T15:11:13.777843018-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassed","Output":"--- PASS: TestPassed (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777845671-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestPassed","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777848092-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.777850305-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst","Output":"=== RUN TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.777852842-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst","Output":"=== PAUSE TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.777855023-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.777857268-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess"} +{"Time":"2022-06-18T15:11:13.777859457-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess","Output":"=== RUN TestNestedSuccess\n"} +{"Time":"2022-06-18T15:11:13.777861948-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a"} +{"Time":"2022-06-18T15:11:13.77786423-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a","Output":"=== RUN TestNestedSuccess/a\n"} +{"Time":"2022-06-18T15:11:13.777867527-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a/sub"} +{"Time":"2022-06-18T15:11:13.777873732-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a/sub","Output":"=== RUN TestNestedSuccess/a/sub\n"} +{"Time":"2022-06-18T15:11:13.77787943-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b"} +{"Time":"2022-06-18T15:11:13.777883395-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b","Output":"=== RUN TestNestedSuccess/b\n"} +{"Time":"2022-06-18T15:11:13.777886722-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b/sub"} +{"Time":"2022-06-18T15:11:13.777889003-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b/sub","Output":"=== RUN TestNestedSuccess/b/sub\n"} +{"Time":"2022-06-18T15:11:13.777891516-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c"} +{"Time":"2022-06-18T15:11:13.777893858-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c","Output":"=== RUN TestNestedSuccess/c\n"} +{"Time":"2022-06-18T15:11:13.777896256-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c/sub"} +{"Time":"2022-06-18T15:11:13.777904401-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c/sub","Output":"=== RUN TestNestedSuccess/c/sub\n"} +{"Time":"2022-06-18T15:11:13.777911807-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d"} +{"Time":"2022-06-18T15:11:13.777917663-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d","Output":"=== RUN TestNestedSuccess/d\n"} +{"Time":"2022-06-18T15:11:13.777923445-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d/sub"} +{"Time":"2022-06-18T15:11:13.777926034-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d/sub","Output":"=== RUN TestNestedSuccess/d/sub\n"} +{"Time":"2022-06-18T15:11:13.777931209-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess","Output":"--- PASS: TestNestedSuccess (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777935682-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a","Output":" --- PASS: TestNestedSuccess/a (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.77794361-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a/sub","Output":" --- PASS: TestNestedSuccess/a/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777950636-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777953523-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/a","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777957232-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b","Output":" --- PASS: TestNestedSuccess/b (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777960384-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b/sub","Output":" --- PASS: TestNestedSuccess/b/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777963169-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777965542-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/b","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777967934-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c","Output":" --- PASS: TestNestedSuccess/c (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777970566-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c/sub","Output":" --- PASS: TestNestedSuccess/c/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777973142-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777975497-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/c","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777977959-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d","Output":" --- PASS: TestNestedSuccess/d (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777980757-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d/sub","Output":" --- PASS: TestNestedSuccess/d/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.777983383-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.7779858-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess/d","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777990486-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestNestedSuccess","Elapsed":0} +{"Time":"2022-06-18T15:11:13.777992924-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestWithStderr"} +{"Time":"2022-06-18T15:11:13.777995182-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestWithStderr","Output":"=== RUN TestWithStderr\n"} +{"Time":"2022-06-18T15:11:13.777997748-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestWithStderr","Output":"this is stderr\n"} +{"Time":"2022-06-18T15:11:13.778000554-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestWithStderr","Output":"--- PASS: TestWithStderr (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.778003879-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestWithStderr","Elapsed":0} +{"Time":"2022-06-18T15:11:13.778006329-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkipped"} +{"Time":"2022-06-18T15:11:13.778008605-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkipped","Output":"=== RUN TestSkipped\n"} +{"Time":"2022-06-18T15:11:13.778011126-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkipped","Output":" good_test.go:23: \n"} +{"Time":"2022-06-18T15:11:13.778013795-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkipped","Output":"--- SKIP: TestSkipped (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.778016334-04:00","Action":"skip","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestSkipped","Elapsed":0} +{"Time":"2022-06-18T15:11:13.778018613-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.778020899-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond","Output":"=== CONT TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.784156177-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond","Output":"--- PASS: TestParallelTheSecond (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.784166672-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheSecond","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.78417064-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.784173244-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst","Output":"=== CONT TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.794547049-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst","Output":"--- PASS: TestParallelTheFirst (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.794615339-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheFirst","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.794638491-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.794654142-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird","Output":"=== CONT TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.796697407-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird","Output":"--- PASS: TestParallelTheThird (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.796752537-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Test":"TestParallelTheThird","Elapsed":0} +{"Time":"2022-06-18T15:11:13.796796596-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Output":"PASS\n"} +{"Time":"2022-06-18T15:11:13.797234684-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/good","Output":"ok \tgotest.tools/gotestsum/testjson/internal/good\t0.020s\n"} +{"Time":"2022-06-18T15:11:13.797314439-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/good","Elapsed":0.02} +{"Time":"2022-06-18T15:11:13.853032441-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Output":"-test.shuffle 123456\n"} +{"Time":"2022-06-18T15:11:13.853049121-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.853070451-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== RUN TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.853074361-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== PAUSE TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.853076627-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.853078943-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog"} +{"Time":"2022-06-18T15:11:13.853081117-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":"=== RUN TestPassedWithLog\n"} +{"Time":"2022-06-18T15:11:13.853089915-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":" fails_test.go:15: this is a log\n"} +{"Time":"2022-06-18T15:11:13.853094124-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":"--- PASS: TestPassedWithLog (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853096659-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853099731-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures"} +{"Time":"2022-06-18T15:11:13.853101897-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Output":"=== RUN TestNestedParallelFailures\n"} +{"Time":"2022-06-18T15:11:13.853104493-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"} +{"Time":"2022-06-18T15:11:13.853106728-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== RUN TestNestedParallelFailures/a\n"} +{"Time":"2022-06-18T15:11:13.853109394-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== PAUSE TestNestedParallelFailures/a\n"} +{"Time":"2022-06-18T15:11:13.85311161-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"} +{"Time":"2022-06-18T15:11:13.853113962-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"} +{"Time":"2022-06-18T15:11:13.853134185-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== RUN TestNestedParallelFailures/b\n"} +{"Time":"2022-06-18T15:11:13.853136704-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== PAUSE TestNestedParallelFailures/b\n"} +{"Time":"2022-06-18T15:11:13.853143459-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"} +{"Time":"2022-06-18T15:11:13.8531463-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"} +{"Time":"2022-06-18T15:11:13.853148539-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== RUN TestNestedParallelFailures/c\n"} +{"Time":"2022-06-18T15:11:13.85315178-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== PAUSE TestNestedParallelFailures/c\n"} +{"Time":"2022-06-18T15:11:13.853154154-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"} +{"Time":"2022-06-18T15:11:13.853156524-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"} +{"Time":"2022-06-18T15:11:13.853174405-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== RUN TestNestedParallelFailures/d\n"} +{"Time":"2022-06-18T15:11:13.853176816-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== PAUSE TestNestedParallelFailures/d\n"} +{"Time":"2022-06-18T15:11:13.853178986-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"} +{"Time":"2022-06-18T15:11:13.853181247-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"} +{"Time":"2022-06-18T15:11:13.853183399-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== CONT TestNestedParallelFailures/a\n"} +{"Time":"2022-06-18T15:11:13.85318578-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":" fails_test.go:50: failed sub a\n"} +{"Time":"2022-06-18T15:11:13.853189251-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"} +{"Time":"2022-06-18T15:11:13.85319159-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== CONT TestNestedParallelFailures/d\n"} +{"Time":"2022-06-18T15:11:13.853195426-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":" fails_test.go:50: failed sub d\n"} +{"Time":"2022-06-18T15:11:13.853197997-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"} +{"Time":"2022-06-18T15:11:13.853200252-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== CONT TestNestedParallelFailures/c\n"} +{"Time":"2022-06-18T15:11:13.853202644-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":" fails_test.go:50: failed sub c\n"} +{"Time":"2022-06-18T15:11:13.853205081-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"} +{"Time":"2022-06-18T15:11:13.853207147-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== CONT TestNestedParallelFailures/b\n"} +{"Time":"2022-06-18T15:11:13.853209403-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":" fails_test.go:50: failed sub b\n"} +{"Time":"2022-06-18T15:11:13.853214144-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Output":"--- FAIL: TestNestedParallelFailures (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853217368-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":" --- FAIL: TestNestedParallelFailures/a (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853219877-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853222427-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":" --- FAIL: TestNestedParallelFailures/d (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853224976-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853227376-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":" --- FAIL: TestNestedParallelFailures/c (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853229944-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853232199-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":" --- FAIL: TestNestedParallelFailures/b (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853235581-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853238036-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853240285-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed"} +{"Time":"2022-06-18T15:11:13.85326097-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Output":"=== RUN TestPassed\n"} +{"Time":"2022-06-18T15:11:13.853263837-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Output":"--- PASS: TestPassed (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853266342-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853268579-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.853270715-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== RUN TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.853273158-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== PAUSE TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.853275333-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.853277767-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout"} +{"Time":"2022-06-18T15:11:13.85327998-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"=== RUN TestPassedWithStdout\n"} +{"Time":"2022-06-18T15:11:13.85328244-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"this is a Print\n"} +{"Time":"2022-06-18T15:11:13.85328762-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"--- PASS: TestPassedWithStdout (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853290402-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853292638-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.853294785-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== RUN TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.853300913-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== PAUSE TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.853303423-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.853305871-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr"} +{"Time":"2022-06-18T15:11:13.853307986-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"=== RUN TestWithStderr\n"} +{"Time":"2022-06-18T15:11:13.853310336-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"this is stderr\n"} +{"Time":"2022-06-18T15:11:13.853313024-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"--- PASS: TestWithStderr (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.853316221-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Elapsed":0} +{"Time":"2022-06-18T15:11:13.853318669-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.853320888-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== CONT TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.859479577-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":" fails_test.go:35: failed the second\n"} +{"Time":"2022-06-18T15:11:13.859491761-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"--- FAIL: TestParallelTheSecond (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.859495479-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.859498602-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.859500849-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== CONT TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.869798818-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":" fails_test.go:29: failed the first\n"} +{"Time":"2022-06-18T15:11:13.869884891-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"--- FAIL: TestParallelTheFirst (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.869909031-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.869927536-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.869962898-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== CONT TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.872195116-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":" fails_test.go:41: failed the third\n"} +{"Time":"2022-06-18T15:11:13.87226097-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"--- FAIL: TestParallelTheThird (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.872286473-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Elapsed":0} +{"Time":"2022-06-18T15:11:13.872304241-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Output":"FAIL\n"} +{"Time":"2022-06-18T15:11:13.872881488-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Output":"FAIL\tgotest.tools/gotestsum/testjson/internal/parallelfails\t0.020s\n"} +{"Time":"2022-06-18T15:11:13.87294329-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Elapsed":0.021} +{"Time":"2022-06-18T15:11:13.928278718-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Output":"-test.shuffle 123456\n"} +{"Time":"2022-06-18T15:11:13.928295492-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithStdout"} +{"Time":"2022-06-18T15:11:13.928298929-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithStdout","Output":"=== RUN TestPassedWithStdout\n"} +{"Time":"2022-06-18T15:11:13.928303582-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithStdout","Output":"this is a Print\n"} +{"Time":"2022-06-18T15:11:13.928307745-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithStdout","Output":"--- PASS: TestPassedWithStdout (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928310472-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithStdout","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928313768-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.92831587-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst","Output":"=== RUN TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.92831847-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst","Output":"=== PAUSE TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.928320622-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.92832302-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkipped"} +{"Time":"2022-06-18T15:11:13.928325837-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkipped","Output":"=== RUN TestSkipped\n"} +{"Time":"2022-06-18T15:11:13.928328227-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkipped","Output":" fails_test.go:26: \n"} +{"Time":"2022-06-18T15:11:13.928330912-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkipped","Output":"--- SKIP: TestSkipped (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928333245-04:00","Action":"skip","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkipped","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928335429-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure"} +{"Time":"2022-06-18T15:11:13.928341958-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure","Output":"=== RUN TestNestedWithFailure\n"} +{"Time":"2022-06-18T15:11:13.928345542-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a"} +{"Time":"2022-06-18T15:11:13.928347818-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a","Output":"=== RUN TestNestedWithFailure/a\n"} +{"Time":"2022-06-18T15:11:13.928350231-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a/sub"} +{"Time":"2022-06-18T15:11:13.928357324-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a/sub","Output":"=== RUN TestNestedWithFailure/a/sub\n"} +{"Time":"2022-06-18T15:11:13.92836008-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b"} +{"Time":"2022-06-18T15:11:13.928362229-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b","Output":"=== RUN TestNestedWithFailure/b\n"} +{"Time":"2022-06-18T15:11:13.928364489-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b/sub"} +{"Time":"2022-06-18T15:11:13.92836653-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b/sub","Output":"=== RUN TestNestedWithFailure/b/sub\n"} +{"Time":"2022-06-18T15:11:13.928368796-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/c"} +{"Time":"2022-06-18T15:11:13.928370919-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/c","Output":"=== RUN TestNestedWithFailure/c\n"} +{"Time":"2022-06-18T15:11:13.928373267-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/c","Output":" fails_test.go:65: failed\n"} +{"Time":"2022-06-18T15:11:13.928375621-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d"} +{"Time":"2022-06-18T15:11:13.928377772-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d","Output":"=== RUN TestNestedWithFailure/d\n"} +{"Time":"2022-06-18T15:11:13.928382204-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d/sub"} +{"Time":"2022-06-18T15:11:13.928384866-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d/sub","Output":"=== RUN TestNestedWithFailure/d/sub\n"} +{"Time":"2022-06-18T15:11:13.928387788-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure","Output":"--- FAIL: TestNestedWithFailure (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928390679-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a","Output":" --- PASS: TestNestedWithFailure/a (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928393553-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a/sub","Output":" --- PASS: TestNestedWithFailure/a/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928396315-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928398649-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/a","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928403333-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b","Output":" --- PASS: TestNestedWithFailure/b (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928406279-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b/sub","Output":" --- PASS: TestNestedWithFailure/b/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.92840889-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928411091-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/b","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928413234-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/c","Output":" --- FAIL: TestNestedWithFailure/c (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928415771-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/c","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928418171-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d","Output":" --- PASS: TestNestedWithFailure/d (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928423431-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d/sub","Output":" --- PASS: TestNestedWithFailure/d/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928426295-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928428568-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure/d","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928430636-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedWithFailure","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928432744-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestWithStderr"} +{"Time":"2022-06-18T15:11:13.928434883-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestWithStderr","Output":"=== RUN TestWithStderr\n"} +{"Time":"2022-06-18T15:11:13.928437253-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestWithStderr","Output":"this is stderr\n"} +{"Time":"2022-06-18T15:11:13.928439884-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestWithStderr","Output":"--- PASS: TestWithStderr (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928442324-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestWithStderr","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928444468-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassed"} +{"Time":"2022-06-18T15:11:13.928446568-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassed","Output":"=== RUN TestPassed\n"} +{"Time":"2022-06-18T15:11:13.928449047-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassed","Output":"--- PASS: TestPassed (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928451687-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassed","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928453907-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkippedWitLog"} +{"Time":"2022-06-18T15:11:13.928461252-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkippedWitLog","Output":"=== RUN TestSkippedWitLog\n"} +{"Time":"2022-06-18T15:11:13.928466-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkippedWitLog","Output":" fails_test.go:30: the skip message\n"} +{"Time":"2022-06-18T15:11:13.928468999-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkippedWitLog","Output":"--- SKIP: TestSkippedWitLog (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.92847153-04:00","Action":"skip","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestSkippedWitLog","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928473695-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess"} +{"Time":"2022-06-18T15:11:13.928475702-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess","Output":"=== RUN TestNestedSuccess\n"} +{"Time":"2022-06-18T15:11:13.928480593-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a"} +{"Time":"2022-06-18T15:11:13.928482967-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a","Output":"=== RUN TestNestedSuccess/a\n"} +{"Time":"2022-06-18T15:11:13.928485289-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a/sub"} +{"Time":"2022-06-18T15:11:13.928489131-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a/sub","Output":"=== RUN TestNestedSuccess/a/sub\n"} +{"Time":"2022-06-18T15:11:13.92849172-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b"} +{"Time":"2022-06-18T15:11:13.928493869-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b","Output":"=== RUN TestNestedSuccess/b\n"} +{"Time":"2022-06-18T15:11:13.928496182-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b/sub"} +{"Time":"2022-06-18T15:11:13.92849827-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b/sub","Output":"=== RUN TestNestedSuccess/b/sub\n"} +{"Time":"2022-06-18T15:11:13.928500516-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c"} +{"Time":"2022-06-18T15:11:13.928502549-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c","Output":"=== RUN TestNestedSuccess/c\n"} +{"Time":"2022-06-18T15:11:13.928504955-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c/sub"} +{"Time":"2022-06-18T15:11:13.928507101-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c/sub","Output":"=== RUN TestNestedSuccess/c/sub\n"} +{"Time":"2022-06-18T15:11:13.928509394-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d"} +{"Time":"2022-06-18T15:11:13.928511479-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d","Output":"=== RUN TestNestedSuccess/d\n"} +{"Time":"2022-06-18T15:11:13.928513732-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d/sub"} +{"Time":"2022-06-18T15:11:13.928515777-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d/sub","Output":"=== RUN TestNestedSuccess/d/sub\n"} +{"Time":"2022-06-18T15:11:13.928518375-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess","Output":"--- PASS: TestNestedSuccess (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928520993-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a","Output":" --- PASS: TestNestedSuccess/a (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928525695-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a/sub","Output":" --- PASS: TestNestedSuccess/a/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928528577-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928530858-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/a","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928533111-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b","Output":" --- PASS: TestNestedSuccess/b (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928535655-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b/sub","Output":" --- PASS: TestNestedSuccess/b/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.92853806-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928540205-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/b","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928542378-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c","Output":" --- PASS: TestNestedSuccess/c (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.92854501-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c/sub","Output":" --- PASS: TestNestedSuccess/c/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928547567-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928549814-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/c","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928552106-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d","Output":" --- PASS: TestNestedSuccess/d (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928554632-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d/sub","Output":" --- PASS: TestNestedSuccess/d/sub (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928557014-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d/sub","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928559157-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess/d","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928561272-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestNestedSuccess","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928563471-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.928565611-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond","Output":"=== RUN TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.928568151-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond","Output":"=== PAUSE TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.928570378-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.928572578-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithLog"} +{"Time":"2022-06-18T15:11:13.928575669-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithLog","Output":"=== RUN TestPassedWithLog\n"} +{"Time":"2022-06-18T15:11:13.928580163-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithLog","Output":" fails_test.go:18: this is a log\n"} +{"Time":"2022-06-18T15:11:13.928583227-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithLog","Output":"--- PASS: TestPassedWithLog (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928585761-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestPassedWithLog","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928588011-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.928590129-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird","Output":"=== RUN TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.928592558-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird","Output":"=== PAUSE TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.928594675-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.928596883-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestTimeout"} +{"Time":"2022-06-18T15:11:13.928598963-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestTimeout","Output":"=== RUN TestTimeout\n"} +{"Time":"2022-06-18T15:11:13.928601386-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestTimeout","Output":" timeout_test.go:13: skipping slow test\n"} +{"Time":"2022-06-18T15:11:13.928604118-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestTimeout","Output":"--- SKIP: TestTimeout (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928606618-04:00","Action":"skip","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestTimeout","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928608826-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr"} +{"Time":"2022-06-18T15:11:13.928610893-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr","Output":"=== RUN TestFailedWithStderr\n"} +{"Time":"2022-06-18T15:11:13.928613237-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr","Output":"this is stderr\n"} +{"Time":"2022-06-18T15:11:13.928615542-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr","Output":" fails_test.go:43: also failed\n"} +{"Time":"2022-06-18T15:11:13.928618738-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr","Output":"--- FAIL: TestFailedWithStderr (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.92862131-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailedWithStderr","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928624809-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailed"} +{"Time":"2022-06-18T15:11:13.928627223-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailed","Output":"=== RUN TestFailed\n"} +{"Time":"2022-06-18T15:11:13.928629688-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailed","Output":" fails_test.go:34: this failed\n"} +{"Time":"2022-06-18T15:11:13.928633879-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailed","Output":"--- FAIL: TestFailed (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.928638465-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestFailed","Elapsed":0} +{"Time":"2022-06-18T15:11:13.928640917-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst"} +{"Time":"2022-06-18T15:11:13.928642977-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst","Output":"=== CONT TestParallelTheFirst\n"} +{"Time":"2022-06-18T15:11:13.9387892-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst","Output":"--- PASS: TestParallelTheFirst (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.938798979-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheFirst","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.938802726-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird"} +{"Time":"2022-06-18T15:11:13.938805129-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird","Output":"=== CONT TestParallelTheThird\n"} +{"Time":"2022-06-18T15:11:13.940931357-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird","Output":"--- PASS: TestParallelTheThird (0.00s)\n"} +{"Time":"2022-06-18T15:11:13.940941604-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheThird","Elapsed":0} +{"Time":"2022-06-18T15:11:13.940945121-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond"} +{"Time":"2022-06-18T15:11:13.940947665-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond","Output":"=== CONT TestParallelTheSecond\n"} +{"Time":"2022-06-18T15:11:13.94718988-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond","Output":"--- PASS: TestParallelTheSecond (0.01s)\n"} +{"Time":"2022-06-18T15:11:13.947287289-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Test":"TestParallelTheSecond","Elapsed":0.01} +{"Time":"2022-06-18T15:11:13.947322143-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Output":"FAIL\n"} +{"Time":"2022-06-18T15:11:13.947830871-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Output":"FAIL\tgotest.tools/gotestsum/testjson/internal/withfails\t0.020s\n"} +{"Time":"2022-06-18T15:11:13.947895848-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/withfails","Elapsed":0.02} diff --git a/testjson/testdata/go-test.err b/testjson/testdata/go-test.err new file mode 100644 index 00000000..a19e6f35 --- /dev/null +++ b/testjson/testdata/go-test.err @@ -0,0 +1,2 @@ +# gotest.tools/gotestsum/testjson/internal/broken +internal/broken/broken.go:5:21: undefined: somepackage diff --git a/testjson/testdata/pkgname-format-shuffle.out b/testjson/testdata/pkgname-format-shuffle.out new file mode 100644 index 00000000..ad301599 --- /dev/null +++ b/testjson/testdata/pkgname-format-shuffle.out @@ -0,0 +1,4 @@ +✖ testjson/internal/badmain (1ms) +✓ testjson/internal/good (20ms) +✖ testjson/internal/parallelfails (21ms) (-test.shuffle 123456) +✖ testjson/internal/withfails (20ms) (-test.shuffle 123456) diff --git a/testjson/testdata/standard-quiet-format-shuffle.out b/testjson/testdata/standard-quiet-format-shuffle.out new file mode 100644 index 00000000..64dc977c --- /dev/null +++ b/testjson/testdata/standard-quiet-format-shuffle.out @@ -0,0 +1,10 @@ +sometimes main can exit 2 +FAIL gotest.tools/gotestsum/testjson/internal/badmain 0.001s +-test.shuffle 123456 +ok gotest.tools/gotestsum/testjson/internal/good 0.020s +-test.shuffle 123456 +FAIL +FAIL gotest.tools/gotestsum/testjson/internal/parallelfails 0.020s +-test.shuffle 123456 +FAIL +FAIL gotest.tools/gotestsum/testjson/internal/withfails 0.020s diff --git a/testjson/testdata/standard-verbose-format-shuffle.out b/testjson/testdata/standard-verbose-format-shuffle.out new file mode 100644 index 00000000..1682b933 --- /dev/null +++ b/testjson/testdata/standard-verbose-format-shuffle.out @@ -0,0 +1,180 @@ +sometimes main can exit 2 +FAIL gotest.tools/gotestsum/testjson/internal/badmain 0.001s +-test.shuffle 123456 +=== RUN TestPassedWithLog + good_test.go:15: this is a log +--- PASS: TestPassedWithLog (0.00s) +=== RUN TestSkippedWitLog + good_test.go:27: the skip message +--- SKIP: TestSkippedWitLog (0.00s) +=== RUN TestPassedWithStdout +this is a Print +--- PASS: TestPassedWithStdout (0.00s) +=== RUN TestParallelTheSecond +=== PAUSE TestParallelTheSecond +=== RUN TestParallelTheThird +=== PAUSE TestParallelTheThird +=== RUN TestPassed +--- PASS: TestPassed (0.00s) +=== RUN TestParallelTheFirst +=== PAUSE TestParallelTheFirst +=== RUN TestNestedSuccess +=== RUN TestNestedSuccess/a +=== RUN TestNestedSuccess/a/sub +=== RUN TestNestedSuccess/b +=== RUN TestNestedSuccess/b/sub +=== RUN TestNestedSuccess/c +=== RUN TestNestedSuccess/c/sub +=== RUN TestNestedSuccess/d +=== RUN TestNestedSuccess/d/sub +--- PASS: TestNestedSuccess (0.00s) + --- PASS: TestNestedSuccess/a (0.00s) + --- PASS: TestNestedSuccess/a/sub (0.00s) + --- PASS: TestNestedSuccess/b (0.00s) + --- PASS: TestNestedSuccess/b/sub (0.00s) + --- PASS: TestNestedSuccess/c (0.00s) + --- PASS: TestNestedSuccess/c/sub (0.00s) + --- PASS: TestNestedSuccess/d (0.00s) + --- PASS: TestNestedSuccess/d/sub (0.00s) +=== RUN TestWithStderr +this is stderr +--- PASS: TestWithStderr (0.00s) +=== RUN TestSkipped + good_test.go:23: +--- SKIP: TestSkipped (0.00s) +=== CONT TestParallelTheSecond +--- PASS: TestParallelTheSecond (0.01s) +=== CONT TestParallelTheFirst +--- PASS: TestParallelTheFirst (0.01s) +=== CONT TestParallelTheThird +--- PASS: TestParallelTheThird (0.00s) +PASS +ok gotest.tools/gotestsum/testjson/internal/good 0.020s +-test.shuffle 123456 +=== RUN TestParallelTheSecond +=== PAUSE TestParallelTheSecond +=== RUN TestPassedWithLog + fails_test.go:15: this is a log +--- PASS: TestPassedWithLog (0.00s) +=== RUN TestNestedParallelFailures +=== RUN TestNestedParallelFailures/a +=== PAUSE TestNestedParallelFailures/a +=== RUN TestNestedParallelFailures/b +=== PAUSE TestNestedParallelFailures/b +=== RUN TestNestedParallelFailures/c +=== PAUSE TestNestedParallelFailures/c +=== RUN TestNestedParallelFailures/d +=== PAUSE TestNestedParallelFailures/d +=== CONT TestNestedParallelFailures/a + fails_test.go:50: failed sub a +=== CONT TestNestedParallelFailures/d + fails_test.go:50: failed sub d +=== CONT TestNestedParallelFailures/c + fails_test.go:50: failed sub c +=== CONT TestNestedParallelFailures/b + fails_test.go:50: failed sub b +--- FAIL: TestNestedParallelFailures (0.00s) + --- FAIL: TestNestedParallelFailures/a (0.00s) + --- FAIL: TestNestedParallelFailures/d (0.00s) + --- FAIL: TestNestedParallelFailures/c (0.00s) + --- FAIL: TestNestedParallelFailures/b (0.00s) +=== RUN TestPassed +--- PASS: TestPassed (0.00s) +=== RUN TestParallelTheThird +=== PAUSE TestParallelTheThird +=== RUN TestPassedWithStdout +this is a Print +--- PASS: TestPassedWithStdout (0.00s) +=== RUN TestParallelTheFirst +=== PAUSE TestParallelTheFirst +=== RUN TestWithStderr +this is stderr +--- PASS: TestWithStderr (0.00s) +=== CONT TestParallelTheSecond + fails_test.go:35: failed the second +--- FAIL: TestParallelTheSecond (0.01s) +=== CONT TestParallelTheFirst + fails_test.go:29: failed the first +--- FAIL: TestParallelTheFirst (0.01s) +=== CONT TestParallelTheThird + fails_test.go:41: failed the third +--- FAIL: TestParallelTheThird (0.00s) +FAIL +FAIL gotest.tools/gotestsum/testjson/internal/parallelfails 0.020s +-test.shuffle 123456 +=== RUN TestPassedWithStdout +this is a Print +--- PASS: TestPassedWithStdout (0.00s) +=== RUN TestParallelTheFirst +=== PAUSE TestParallelTheFirst +=== RUN TestSkipped + fails_test.go:26: +--- SKIP: TestSkipped (0.00s) +=== RUN TestNestedWithFailure +=== RUN TestNestedWithFailure/a +=== RUN TestNestedWithFailure/a/sub +=== RUN TestNestedWithFailure/b +=== RUN TestNestedWithFailure/b/sub +=== RUN TestNestedWithFailure/c + fails_test.go:65: failed +=== RUN TestNestedWithFailure/d +=== RUN TestNestedWithFailure/d/sub +--- FAIL: TestNestedWithFailure (0.00s) + --- PASS: TestNestedWithFailure/a (0.00s) + --- PASS: TestNestedWithFailure/a/sub (0.00s) + --- PASS: TestNestedWithFailure/b (0.00s) + --- PASS: TestNestedWithFailure/b/sub (0.00s) + --- FAIL: TestNestedWithFailure/c (0.00s) + --- PASS: TestNestedWithFailure/d (0.00s) + --- PASS: TestNestedWithFailure/d/sub (0.00s) +=== RUN TestWithStderr +this is stderr +--- PASS: TestWithStderr (0.00s) +=== RUN TestPassed +--- PASS: TestPassed (0.00s) +=== RUN TestSkippedWitLog + fails_test.go:30: the skip message +--- SKIP: TestSkippedWitLog (0.00s) +=== RUN TestNestedSuccess +=== RUN TestNestedSuccess/a +=== RUN TestNestedSuccess/a/sub +=== RUN TestNestedSuccess/b +=== RUN TestNestedSuccess/b/sub +=== RUN TestNestedSuccess/c +=== RUN TestNestedSuccess/c/sub +=== RUN TestNestedSuccess/d +=== RUN TestNestedSuccess/d/sub +--- PASS: TestNestedSuccess (0.00s) + --- PASS: TestNestedSuccess/a (0.00s) + --- PASS: TestNestedSuccess/a/sub (0.00s) + --- PASS: TestNestedSuccess/b (0.00s) + --- PASS: TestNestedSuccess/b/sub (0.00s) + --- PASS: TestNestedSuccess/c (0.00s) + --- PASS: TestNestedSuccess/c/sub (0.00s) + --- PASS: TestNestedSuccess/d (0.00s) + --- PASS: TestNestedSuccess/d/sub (0.00s) +=== RUN TestParallelTheSecond +=== PAUSE TestParallelTheSecond +=== RUN TestPassedWithLog + fails_test.go:18: this is a log +--- PASS: TestPassedWithLog (0.00s) +=== RUN TestParallelTheThird +=== PAUSE TestParallelTheThird +=== RUN TestTimeout + timeout_test.go:13: skipping slow test +--- SKIP: TestTimeout (0.00s) +=== RUN TestFailedWithStderr +this is stderr + fails_test.go:43: also failed +--- FAIL: TestFailedWithStderr (0.00s) +=== RUN TestFailed + fails_test.go:34: this failed +--- FAIL: TestFailed (0.00s) +=== CONT TestParallelTheFirst +--- PASS: TestParallelTheFirst (0.01s) +=== CONT TestParallelTheThird +--- PASS: TestParallelTheThird (0.00s) +=== CONT TestParallelTheSecond +--- PASS: TestParallelTheSecond (0.01s) +FAIL +FAIL gotest.tools/gotestsum/testjson/internal/withfails 0.020s diff --git a/testjson/testdata/testname-format-shuffle.out b/testjson/testdata/testname-format-shuffle.out new file mode 100644 index 00000000..58a02335 --- /dev/null +++ b/testjson/testdata/testname-format-shuffle.out @@ -0,0 +1,108 @@ +sometimes main can exit 2 +FAIL testjson/internal/badmain +PASS testjson/internal/good.TestPassedWithLog (0.00s) +PASS testjson/internal/good.TestPassedWithStdout (0.00s) +PASS testjson/internal/good.TestPassed (0.00s) +PASS testjson/internal/good.TestNestedSuccess/a/sub (0.00s) +PASS testjson/internal/good.TestNestedSuccess/a (0.00s) +PASS testjson/internal/good.TestNestedSuccess/b/sub (0.00s) +PASS testjson/internal/good.TestNestedSuccess/b (0.00s) +PASS testjson/internal/good.TestNestedSuccess/c/sub (0.00s) +PASS testjson/internal/good.TestNestedSuccess/c (0.00s) +PASS testjson/internal/good.TestNestedSuccess/d/sub (0.00s) +PASS testjson/internal/good.TestNestedSuccess/d (0.00s) +PASS testjson/internal/good.TestNestedSuccess (0.00s) +PASS testjson/internal/good.TestWithStderr (0.00s) +PASS testjson/internal/good.TestParallelTheSecond (0.01s) +PASS testjson/internal/good.TestParallelTheFirst (0.01s) +PASS testjson/internal/good.TestParallelTheThird (0.00s) +PASS testjson/internal/good +PASS testjson/internal/parallelfails.TestPassedWithLog (0.00s) +=== RUN TestNestedParallelFailures/a +=== PAUSE TestNestedParallelFailures/a +=== CONT TestNestedParallelFailures/a + fails_test.go:50: failed sub a + --- FAIL: TestNestedParallelFailures/a (0.00s) +FAIL testjson/internal/parallelfails.TestNestedParallelFailures/a (0.00s) +=== RUN TestNestedParallelFailures/d +=== PAUSE TestNestedParallelFailures/d +=== CONT TestNestedParallelFailures/d + fails_test.go:50: failed sub d + --- FAIL: TestNestedParallelFailures/d (0.00s) +FAIL testjson/internal/parallelfails.TestNestedParallelFailures/d (0.00s) +=== RUN TestNestedParallelFailures/c +=== PAUSE TestNestedParallelFailures/c +=== CONT TestNestedParallelFailures/c + fails_test.go:50: failed sub c + --- FAIL: TestNestedParallelFailures/c (0.00s) +FAIL testjson/internal/parallelfails.TestNestedParallelFailures/c (0.00s) +=== RUN TestNestedParallelFailures/b +=== PAUSE TestNestedParallelFailures/b +=== CONT TestNestedParallelFailures/b + fails_test.go:50: failed sub b + --- FAIL: TestNestedParallelFailures/b (0.00s) +FAIL testjson/internal/parallelfails.TestNestedParallelFailures/b (0.00s) +=== RUN TestNestedParallelFailures +--- FAIL: TestNestedParallelFailures (0.00s) +FAIL testjson/internal/parallelfails.TestNestedParallelFailures (0.00s) +PASS testjson/internal/parallelfails.TestPassed (0.00s) +PASS testjson/internal/parallelfails.TestPassedWithStdout (0.00s) +PASS testjson/internal/parallelfails.TestWithStderr (0.00s) +=== RUN TestParallelTheSecond +=== PAUSE TestParallelTheSecond +=== CONT TestParallelTheSecond + fails_test.go:35: failed the second +--- FAIL: TestParallelTheSecond (0.01s) +FAIL testjson/internal/parallelfails.TestParallelTheSecond (0.01s) +=== RUN TestParallelTheFirst +=== PAUSE TestParallelTheFirst +=== CONT TestParallelTheFirst + fails_test.go:29: failed the first +--- FAIL: TestParallelTheFirst (0.01s) +FAIL testjson/internal/parallelfails.TestParallelTheFirst (0.01s) +=== RUN TestParallelTheThird +=== PAUSE TestParallelTheThird +=== CONT TestParallelTheThird + fails_test.go:41: failed the third +--- FAIL: TestParallelTheThird (0.00s) +FAIL testjson/internal/parallelfails.TestParallelTheThird (0.00s) +FAIL testjson/internal/parallelfails (-test.shuffle 123456) +PASS testjson/internal/withfails.TestPassedWithStdout (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/a/sub (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/a (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/b/sub (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/b (0.00s) +=== RUN TestNestedWithFailure/c + fails_test.go:65: failed + --- FAIL: TestNestedWithFailure/c (0.00s) +FAIL testjson/internal/withfails.TestNestedWithFailure/c (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/d/sub (0.00s) +PASS testjson/internal/withfails.TestNestedWithFailure/d (0.00s) +=== RUN TestNestedWithFailure +--- FAIL: TestNestedWithFailure (0.00s) +FAIL testjson/internal/withfails.TestNestedWithFailure (0.00s) +PASS testjson/internal/withfails.TestWithStderr (0.00s) +PASS testjson/internal/withfails.TestPassed (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/a/sub (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/a (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/b/sub (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/b (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/c/sub (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/c (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/d/sub (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess/d (0.00s) +PASS testjson/internal/withfails.TestNestedSuccess (0.00s) +PASS testjson/internal/withfails.TestPassedWithLog (0.00s) +=== RUN TestFailedWithStderr +this is stderr + fails_test.go:43: also failed +--- FAIL: TestFailedWithStderr (0.00s) +FAIL testjson/internal/withfails.TestFailedWithStderr (0.00s) +=== RUN TestFailed + fails_test.go:34: this failed +--- FAIL: TestFailed (0.00s) +FAIL testjson/internal/withfails.TestFailed (0.00s) +PASS testjson/internal/withfails.TestParallelTheFirst (0.01s) +PASS testjson/internal/withfails.TestParallelTheThird (0.00s) +PASS testjson/internal/withfails.TestParallelTheSecond (0.01s) +FAIL testjson/internal/withfails (-test.shuffle 123456)