Skip to content

Commit

Permalink
cmd/test2json: document passing -test.paniconexit0
Browse files Browse the repository at this point in the history
For #29062
Fixes #43263

Change-Id: I160197c94cc4f936967cc22c82cec01663a14fe6
Reviewed-on: https://go-review.googlesource.com/c/go/+/283873
Trust: Ian Lance Taylor <[email protected]>
Run-TryBot: Ian Lance Taylor <[email protected]>
Reviewed-by: Bryan C. Mills <[email protected]>
TryBot-Result: Go Bot <[email protected]>
  • Loading branch information
ianlancetaylor committed Jan 14, 2021
1 parent 9135795 commit 0c86b99
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
17 changes: 17 additions & 0 deletions src/cmd/go/testdata/script/test_exit.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,23 @@ go test -list=. ./main_zero
stdout 'skipping all tests'
! stdout TestNotListed

# Running the test directly still fails, if we pass the flag.
go test -c -o ./zero.exe ./zero
! exec ./zero.exe -test.paniconexit0

# Using -json doesn't affect the exit status.
! go test -json ./zero
! stdout '"Output":"ok'
! stdout 'exit status'
stdout 'panic'
stdout '"Output":"FAIL'

# Running the test via test2json also fails.
! go tool test2json ./zero.exe -test.v -test.paniconexit0
! stdout '"Output":"ok'
! stdout 'exit status'
stdout 'panic'

-- go.mod --
module m

Expand Down
6 changes: 5 additions & 1 deletion src/cmd/test2json/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
//
// Usage:
//
// go tool test2json [-p pkg] [-t] [./pkg.test -test.v]
// go tool test2json [-p pkg] [-t] [./pkg.test -test.v [-test.paniconexit0]]
//
// Test2json runs the given test command and converts its output to JSON;
// with no command specified, test2json expects test output on standard input.
Expand All @@ -18,6 +18,10 @@
//
// The -t flag requests that time stamps be added to each test event.
//
// The test must be invoked with -test.v. Additionally passing
// -test.paniconexit0 will cause test2json to exit with a non-zero
// status if one of the tests being run calls os.Exit(0).
//
// Note that test2json is only intended for converting a single test
// binary's output. To convert the output of a "go test" command,
// use "go test -json" instead of invoking test2json directly.
Expand Down

0 comments on commit 0c86b99

Please sign in to comment.