Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
test2json: default to "pass" when the test doesn't report failures
When a test has a TestMain that doesn't run any tests (doesn't invoke
m.Run), `go test` passes, but `go test -json` reports a "fail" event
though the exit code is still 0.

This CL fixes test2json to behave similarly to `go test` in such cases -
no output from the test is taken as "pass" by default, not as "fail".

Fixes #31969

Change-Id: I1829d40fc30dc2879e73974fac416f6a34212ccd
Reviewed-on: https://go-review.googlesource.com/c/go/+/192104
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
  • Loading branch information
eliben authored and ianlancetaylor committed Aug 31, 2019
1 parent bac5b3f commit d47526e
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/cmd/internal/test2json/test2json.go
Expand Up @@ -284,7 +284,7 @@ func (c *converter) flushReport(depth int) {
func (c *converter) Close() error {
c.input.flush()
c.output.flush()
e := &event{Action: "fail"}
e := &event{Action: "pass"}
if c.result != "" {
e.Action = c.result
}
Expand Down
2 changes: 1 addition & 1 deletion src/cmd/internal/test2json/testdata/benchshort.json
Expand Up @@ -4,4 +4,4 @@
{"Action":"output","Output":"# but to avoid questions of timing, we just use a file with no \\n at all.\n"}
{"Action":"output","Output":"BenchmarkFoo \t"}
{"Action":"output","Output":"10000 early EOF"}
{"Action":"fail"}
{"Action":"pass"}
1 change: 1 addition & 0 deletions src/cmd/internal/test2json/testdata/empty.json
@@ -0,0 +1 @@
{"Action":"pass"}
Empty file.

0 comments on commit d47526e

Please sign in to comment.