]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: stream test output if parallelism is set to 1.
authorRahul Chaudhry <rahulchaudhry@chromium.org>
Sat, 7 Feb 2015 01:47:54 +0000 (17:47 -0800)
committerIan Lance Taylor <iant@golang.org>
Mon, 9 Feb 2015 18:20:28 +0000 (18:20 +0000)
"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>
src/cmd/go/test.go

index 60f6b16c9a530a3e456cb69389e8106ead71ed58..a8110f385dad8fae1c50968661f96312ab3d3ee6 100644 (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()