cmd/compile/internal/syntax: silence test function output

Don't print to stdout in non-verbose (-v) test mode.

Exception: Timing output (2 lines) of TestStdLib. If
we want to disable that as well we should use another
flag to differenciate between -verbose output and
measurement results. Leaving alone for now.

Fixes #35223.

Change-Id: Ie8160760e8db1138f9031888d654eaeab202128c
Reviewed-on: https://go-review.googlesource.com/c/go/+/204039
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Robert Griesemer 2019-10-29 09:27:57 -07:00
parent a5936a4894
commit 4cb926001c
3 changed files with 14 additions and 3 deletions

View file

@ -5,7 +5,6 @@
package syntax
import (
"os"
"testing"
)
@ -21,6 +20,6 @@ func TestDump(t *testing.T) {
}
if ast != nil {
Fdump(os.Stdout, ast)
Fdump(testOut(), ast)
}
}

View file

@ -6,6 +6,8 @@ package syntax
import (
"fmt"
"io"
"io/ioutil"
"os"
"strings"
"testing"
@ -23,7 +25,7 @@ func TestPrint(t *testing.T) {
}
if ast != nil {
Fprint(os.Stdout, ast, true)
Fprint(testOut(), ast, true)
fmt.Println()
}
}
@ -44,3 +46,10 @@ func TestPrintString(t *testing.T) {
}
}
}
func testOut() io.Writer {
if testing.Verbose() {
return os.Stdout
}
return ioutil.Discard
}

View file

@ -30,6 +30,9 @@ func TestScanner(t *testing.T) {
if s.tok == _EOF {
break
}
if !testing.Verbose() {
continue
}
switch s.tok {
case _Name:
fmt.Println(s.line, s.tok, "=>", s.lit)