| # Verifies golang.org/issue/37555. |
| |
| [short] skip |
| |
| # 'go test -json' should say a test passes if it says it passes. |
| go test -json ./pass |
| stdout '"Action":"pass".*\n\z' |
| ! stdout '"Test":.*\n\z' |
| |
| # 'go test -json' should say a test passes if it exits 0 and prints nothing. |
| # TODO(golang.org/issue/29062): this should fail in the future. |
| go test -json ./exit0main |
| stdout '"Action":"pass".*\n\z' |
| ! stdout '"Test":.*\n\z' |
| |
| # 'go test -json' should say a test fails if it exits 1 and prints nothing. |
| ! go test -json ./exit1main |
| stdout '"Action":"fail".*\n\z' |
| ! stdout '"Test":.*\n\z' |
| |
| # 'go test -json' should say a test fails if it panics. |
| ! go test -json ./panic |
| stdout '"Action":"fail".*\n\z' |
| ! stdout '"Test":.*\n\z' |
| |
| -- go.mod -- |
| module example.com/test |
| |
| go 1.14 |
| |
| -- pass/pass_test.go -- |
| package pass_test |
| |
| import "testing" |
| |
| func TestPass(t *testing.T) {} |
| |
| -- exit0main/exit0main_test.go -- |
| package exit0_test |
| |
| import ( |
| "os" |
| "testing" |
| ) |
| |
| func TestMain(m *testing.M) { |
| os.Exit(0) |
| } |
| |
| -- exit1main/exit1main_test.go -- |
| package exit1_test |
| |
| import ( |
| "os" |
| "testing" |
| ) |
| |
| func TestMain(m *testing.M) { |
| os.Exit(1) |
| } |
| |
| -- panic/panic_test.go -- |
| package panic_test |
| |
| import "testing" |
| |
| func TestPanic(t *testing.T) { |
| panic("oh no") |
| } |