1
0
mirror of https://github.com/golang/go synced 2024-11-23 16:50:06 -07:00

cmd/go: stream test output if parallelism is set to 1.

"go test -v" buffers output if more than one package is
being tested to avoid mixing the outputs from multiple
tests running in parallel. It currently enables streaming
if there's only a single package under test.

It is ok to stream output from multiple tests if we know
that they're not going to be running in parallel.

To see the difference: go test -v -p=1 runtime fmt -short

Change-Id: Idc24575c899eac30d553e0bf52b86f90e189392d
Reviewed-on: https://go-review.googlesource.com/4153
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Rahul Chaudhry 2015-02-06 17:47:54 -08:00 committed by Ian Lance Taylor
parent acfe3a59bd
commit f8176f8111

View File

@ -346,11 +346,11 @@ func runTest(cmd *Command, args []string) {
// been given on the command line (implicit current directory)
// or when benchmarking.
// Also stream if we're showing output anyway with a
// single package under test. In that case, streaming the
// output produces the same result as not streaming,
// just more immediately.
// single package under test or if parallelism is set to 1.
// In these cases, streaming the output produces the same result
// as not streaming, just more immediately.
testStreamOutput = len(pkgArgs) == 0 || testBench ||
(len(pkgs) <= 1 && testShowPass)
(testShowPass && (len(pkgs) == 1 || buildP == 1))
var b builder
b.init()