From f8176f81115b5b9b58ddfe4b37e0565fd599fecd Mon Sep 17 00:00:00 2001 From: Rahul Chaudhry Date: Fri, 6 Feb 2015 17:47:54 -0800 Subject: [PATCH] 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 --- src/cmd/go/test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/go/test.go b/src/cmd/go/test.go index 60f6b16c9a..a8110f385d 100644 --- a/src/cmd/go/test.go +++ b/src/cmd/go/test.go @@ -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() -- 2.50.0