Skip to content

Commit 91d3d32

Browse files
committed
enhanced Go test output (quiet by default, print package path)
"ginkgo" can replace "go test" as test runner also for normal Go tests, but the output was different: - tests were always run with -test.v and thus produced output also on success - there was no indication of which test produced the output Now the output behavior is closer to that of "go test": - tests run in verbose mode only when "ginkgo -v" is used - after each test, a line with "ok/FAIL <test path>" is printed That line is not quite the same as in "go test", which prints the import path, but close enough. That line is important when running in quite mode, because without it one would not be able to tell what tests were run. Even in verbose mode the output could be ambiguous (for example, when different packages happen to contain the same test). Example: $ go test ./pkg/log ./pkg/log/testlog ok github.com/foo/bar/pkg/log 0.005s --- FAIL: TestOutput2 (0.00s) testlog_test.go:40: INFO TestOutput2 testlog_test.go:42: was asked to fail FAIL FAIL github.com/foo/bar/pkg/log/testlog 1.417s $ ginkgo ./pkg/log ./pkg/log/testlog PASS ok ./pkg/log --- FAIL: TestOutput2 (0.00s) testlog_test.go:40: INFO TestOutput2 testlog_test.go:42: was asked to fail FAIL FAIL ./pkg/log/testlog Ginkgo ran 2 suites in 2.145256459s Test Suite Failed Fixes: onsi#508
1 parent 9008c7b commit 91d3d32

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

ginkgo/testrunner/test_runner.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,17 @@ func (t *TestRunner) runSerialGinkgoSuite() RunResult {
252252
}
253253

254254
func (t *TestRunner) runGoTestSuite() RunResult {
255-
return t.run(t.cmd([]string{"-test.v"}, os.Stdout, 1), nil)
255+
args := make([]string, 0)
256+
if config.DefaultReporterConfig.Verbose {
257+
args = append(args, "-test.v")
258+
}
259+
result := t.run(t.cmd(args, os.Stdout, 1), nil)
260+
keyword := "ok"
261+
if !result.Passed {
262+
keyword = "FAIL"
263+
}
264+
fmt.Printf("%s %s\n", keyword, t.Suite.Path)
265+
return result
256266
}
257267

258268
func (t *TestRunner) runAndStreamParallelGinkgoSuite() RunResult {

0 commit comments

Comments
 (0)