Skip to content

Commit

Permalink
Merge pull request #133 from dnephin/remove-pause-cont-from-summary-o…
Browse files Browse the repository at this point in the history
…utput

Remove PAUSE and CONT lines from summary output
  • Loading branch information
dnephin committed Jun 21, 2020
2 parents 07020ae + d704604 commit 9a2c7b4
Show file tree
Hide file tree
Showing 5 changed files with 192 additions and 3 deletions.
53 changes: 53 additions & 0 deletions testjson/internal/parallelfails/fails_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// +build stubpkg

package fails

import (
"fmt"
"os"
"testing"
"time"
)

func TestPassed(t *testing.T) {}

func TestPassedWithLog(t *testing.T) {
t.Log("this is a log")
}

func TestPassedWithStdout(t *testing.T) {
fmt.Println("this is a Print")
}

func TestWithStderr(t *testing.T) {
fmt.Fprintln(os.Stderr, "this is stderr")
}

func TestParallelTheFirst(t *testing.T) {
t.Parallel()
time.Sleep(10 * time.Millisecond)
t.Fatal("failed the first")
}

func TestParallelTheSecond(t *testing.T) {
t.Parallel()
time.Sleep(6 * time.Millisecond)
t.Fatal("failed the second")
}

func TestParallelTheThird(t *testing.T) {
t.Parallel()
time.Sleep(2 * time.Millisecond)
t.Fatal("failed the third")

}

func TestNestedParallelFailures(t *testing.T) {
for _, name := range []string{"a", "b", "c", "d"} {
name := name
t.Run(name, func(t *testing.T) {
t.Parallel()
t.Fatal("failed sub " + name)
})
}
}
8 changes: 5 additions & 3 deletions testjson/summary.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func writeTestCaseSummary(out io.Writer, execution executionSummary, conf testCa
formatRunID(tc.RunID),
FormatDurationAsSeconds(tc.Elapsed, 2))
for _, line := range execution.OutputLines(tc) {
if isRunLine(line) || conf.filter(tc.Test, line) {
if isFramingLine(line) || conf.filter(tc.Test, line) {
continue
}
fmt.Fprint(out, line)
Expand Down Expand Up @@ -222,6 +222,8 @@ func formatSkipped() testCaseFormatConfig {
}
}

func isRunLine(line string) bool {
return strings.HasPrefix(line, "=== RUN Test")
func isFramingLine(line string) bool {
return strings.HasPrefix(line, "=== RUN Test") ||
strings.HasPrefix(line, "=== PAUSE Test") ||
strings.HasPrefix(line, "=== CONT Test")
}
14 changes: 14 additions & 0 deletions testjson/summary_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,20 @@ func TestPrintSummary_WithSubtestFailures(t *testing.T) {
golden.Assert(t, buf.String(), "summary-root-test-has-subtest-failures")
}

func TestPrintSummary_WithParallelFailures(t *testing.T) {
_, reset := patchClock()
defer reset()

exec, err := ScanTestOutput(ScanConfig{
Stdout: bytes.NewReader(golden.Get(t, "go-test-json-with-parallel-fails.out")),
})
assert.NilError(t, err)

buf := new(bytes.Buffer)
PrintSummary(buf, exec, SummarizeAll)
golden.Assert(t, buf.String(), "summary-parallel-failures.out")
}

func TestPrintSummary_WithMissingSkipMessage(t *testing.T) {
_, reset := patchClock()
defer reset()
Expand Down
89 changes: 89 additions & 0 deletions testjson/testdata/go-test-json-with-parallel-fails.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{"Time":"2020-06-20T20:03:14.189062291-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed"}
{"Time":"2020-06-20T20:03:14.189181845-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Output":"=== RUN TestPassed\n"}
{"Time":"2020-06-20T20:03:14.189196791-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Output":"--- PASS: TestPassed (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189204529-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassed","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189209795-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog"}
{"Time":"2020-06-20T20:03:14.189212884-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":"=== RUN TestPassedWithLog\n"}
{"Time":"2020-06-20T20:03:14.189216281-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":" TestPassedWithLog: fails_test.go:15: this is a log\n"}
{"Time":"2020-06-20T20:03:14.18922143-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Output":"--- PASS: TestPassedWithLog (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189224935-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithLog","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189228284-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout"}
{"Time":"2020-06-20T20:03:14.189231421-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"=== RUN TestPassedWithStdout\n"}
{"Time":"2020-06-20T20:03:14.189242048-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"this is a Print\n"}
{"Time":"2020-06-20T20:03:14.189248882-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Output":"--- PASS: TestPassedWithStdout (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.1892537-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestPassedWithStdout","Elapsed":0}
{"Time":"2020-06-20T20:03:14.18925685-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr"}
{"Time":"2020-06-20T20:03:14.189259838-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"=== RUN TestWithStderr\n"}
{"Time":"2020-06-20T20:03:14.189263114-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"this is stderr\n"}
{"Time":"2020-06-20T20:03:14.189266603-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Output":"--- PASS: TestWithStderr (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189269864-04:00","Action":"pass","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestWithStderr","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189272811-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"}
{"Time":"2020-06-20T20:03:14.189275739-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== RUN TestParallelTheFirst\n"}
{"Time":"2020-06-20T20:03:14.189279428-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== PAUSE TestParallelTheFirst\n"}
{"Time":"2020-06-20T20:03:14.189282411-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"}
{"Time":"2020-06-20T20:03:14.189291743-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"}
{"Time":"2020-06-20T20:03:14.189295261-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== RUN TestParallelTheSecond\n"}
{"Time":"2020-06-20T20:03:14.189298613-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== PAUSE TestParallelTheSecond\n"}
{"Time":"2020-06-20T20:03:14.189301547-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"}
{"Time":"2020-06-20T20:03:14.189304528-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"}
{"Time":"2020-06-20T20:03:14.189307722-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== RUN TestParallelTheThird\n"}
{"Time":"2020-06-20T20:03:14.189316868-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== PAUSE TestParallelTheThird\n"}
{"Time":"2020-06-20T20:03:14.189321008-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"}
{"Time":"2020-06-20T20:03:14.189324205-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures"}
{"Time":"2020-06-20T20:03:14.189327134-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Output":"=== RUN TestNestedParallelFailures\n"}
{"Time":"2020-06-20T20:03:14.189330311-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"}
{"Time":"2020-06-20T20:03:14.189333211-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== RUN TestNestedParallelFailures/a\n"}
{"Time":"2020-06-20T20:03:14.189336566-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== PAUSE TestNestedParallelFailures/a\n"}
{"Time":"2020-06-20T20:03:14.189339616-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"}
{"Time":"2020-06-20T20:03:14.189342795-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"}
{"Time":"2020-06-20T20:03:14.189345726-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== RUN TestNestedParallelFailures/b\n"}
{"Time":"2020-06-20T20:03:14.189348991-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== PAUSE TestNestedParallelFailures/b\n"}
{"Time":"2020-06-20T20:03:14.189351895-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"}
{"Time":"2020-06-20T20:03:14.18935492-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"}
{"Time":"2020-06-20T20:03:14.189357786-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== RUN TestNestedParallelFailures/c\n"}
{"Time":"2020-06-20T20:03:14.18936103-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== PAUSE TestNestedParallelFailures/c\n"}
{"Time":"2020-06-20T20:03:14.189366866-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"}
{"Time":"2020-06-20T20:03:14.189370301-04:00","Action":"run","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"}
{"Time":"2020-06-20T20:03:14.189373227-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== RUN TestNestedParallelFailures/d\n"}
{"Time":"2020-06-20T20:03:14.189376526-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== PAUSE TestNestedParallelFailures/d\n"}
{"Time":"2020-06-20T20:03:14.189379535-04:00","Action":"pause","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"}
{"Time":"2020-06-20T20:03:14.189382945-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a"}
{"Time":"2020-06-20T20:03:14.189388341-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":"=== CONT TestNestedParallelFailures/a\n"}
{"Time":"2020-06-20T20:03:14.18939265-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":" TestNestedParallelFailures/a: fails_test.go:50: failed sub a\n"}
{"Time":"2020-06-20T20:03:14.189396424-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d"}
{"Time":"2020-06-20T20:03:14.189399761-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":"=== CONT TestNestedParallelFailures/d\n"}
{"Time":"2020-06-20T20:03:14.189403259-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":" TestNestedParallelFailures/d: fails_test.go:50: failed sub d\n"}
{"Time":"2020-06-20T20:03:14.189406517-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c"}
{"Time":"2020-06-20T20:03:14.189409434-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":"=== CONT TestNestedParallelFailures/c\n"}
{"Time":"2020-06-20T20:03:14.189412522-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":" TestNestedParallelFailures/c: fails_test.go:50: failed sub c\n"}
{"Time":"2020-06-20T20:03:14.189415748-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b"}
{"Time":"2020-06-20T20:03:14.189418676-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":"=== CONT TestNestedParallelFailures/b\n"}
{"Time":"2020-06-20T20:03:14.189421937-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":" TestNestedParallelFailures/b: fails_test.go:50: failed sub b\n"}
{"Time":"2020-06-20T20:03:14.189430766-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Output":"--- FAIL: TestNestedParallelFailures (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189435217-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Output":" --- FAIL: TestNestedParallelFailures/a (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189438729-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/a","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189446566-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Output":" --- FAIL: TestNestedParallelFailures/d (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189451208-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/d","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189454398-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Output":" --- FAIL: TestNestedParallelFailures/c (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189458705-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/c","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189464323-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Output":" --- FAIL: TestNestedParallelFailures/b (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.189468081-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures/b","Elapsed":0}
{"Time":"2020-06-20T20:03:14.18947115-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestNestedParallelFailures","Elapsed":0}
{"Time":"2020-06-20T20:03:14.189475585-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst"}
{"Time":"2020-06-20T20:03:14.189478551-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"=== CONT TestParallelTheFirst\n"}
{"Time":"2020-06-20T20:03:14.199340121-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":" TestParallelTheFirst: fails_test.go:29: failed the first\n"}
{"Time":"2020-06-20T20:03:14.199385908-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Output":"--- FAIL: TestParallelTheFirst (0.01s)\n"}
{"Time":"2020-06-20T20:03:14.199396994-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheFirst","Elapsed":0.01}
{"Time":"2020-06-20T20:03:14.199406397-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird"}
{"Time":"2020-06-20T20:03:14.19941412-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"=== CONT TestParallelTheThird\n"}
{"Time":"2020-06-20T20:03:14.201560705-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":" TestParallelTheThird: fails_test.go:41: failed the third\n"}
{"Time":"2020-06-20T20:03:14.201602937-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Output":"--- FAIL: TestParallelTheThird (0.00s)\n"}
{"Time":"2020-06-20T20:03:14.201615644-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheThird","Elapsed":0}
{"Time":"2020-06-20T20:03:14.201630909-04:00","Action":"cont","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond"}
{"Time":"2020-06-20T20:03:14.201640015-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"=== CONT TestParallelTheSecond\n"}
{"Time":"2020-06-20T20:03:14.207765102-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":" TestParallelTheSecond: fails_test.go:35: failed the second\n"}
{"Time":"2020-06-20T20:03:14.207820447-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Output":"--- FAIL: TestParallelTheSecond (0.01s)\n"}
{"Time":"2020-06-20T20:03:14.207829881-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Test":"TestParallelTheSecond","Elapsed":0.01}
{"Time":"2020-06-20T20:03:14.207838745-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Output":"FAIL\n"}
{"Time":"2020-06-20T20:03:14.214087937-04:00","Action":"output","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Output":"FAIL\tgotest.tools/gotestsum/testjson/internal/parallelfails\t0.026s\n"}
{"Time":"2020-06-20T20:03:14.214125492-04:00","Action":"fail","Package":"gotest.tools/gotestsum/testjson/internal/parallelfails","Elapsed":0.026}
Loading

0 comments on commit 9a2c7b4

Please sign in to comment.