1
0
mirror of https://github.com/golang/go synced 2024-11-27 00:01:23 -07:00

cmd/dist: tweaks to -json mode

These are some follow-up tweaks to CL 494958. This CL drops a stale
and unnecessary check and passes through trailing non-JSON output.

Updates #37486.

Change-Id: I7cdb73a103f9cd49767d5491812d5ad011ee5c14
Reviewed-on: https://go-review.googlesource.com/c/go/+/496297
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Austin Clements <austin@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Austin Clements <austin@google.com>
This commit is contained in:
Austin Clements 2023-05-17 17:59:49 -04:00 committed by Gopher Robot
parent b5515eef56
commit 78203ac536
3 changed files with 6 additions and 7 deletions

View File

@ -349,9 +349,7 @@ func (opts *goTest) bgCommand(t *tester, stdout, stderr io.Writer) *exec.Cmd {
// Rewrite Package in the JSON output to be pkg:variant. For sharded
// variants, pkg.TestName is already unambiguous, so we don't need to
// rewrite the Package field.
if len(opts.pkgs) != 0 {
panic("cannot combine multiple packages with variants")
}
//
// We only want to process JSON on the child's stdout. Ideally if
// stdout==stderr, we would also use the same testJSONFilter for
// cmd.Stdout and cmd.Stderr in order to keep the underlying

View File

@ -92,7 +92,10 @@ func (f *testJSONFilter) process(line []byte) {
// Should never happen.
panic(fmt.Sprintf("failed to round-trip JSON %q: %s", string(line), err))
}
data = append(data, '\n')
// Copy any trailing text. We expect at most a "\n" here, but
// there could be other text and we want to feed that through.
extra, _ := io.ReadAll(dec.Buffered())
data = append(data, extra...)
f.w.Write(data)
return
}

View File

@ -31,11 +31,9 @@ more text
const want = `unexpected text
{"Package":"abc:variant"}
more text
{"Package":"abc:variant"}
{"Package":"abc:variant"}trailing text
{not json}
`
// Note that currently we won't round-trip trailing text after a valid JSON
// line. That might be a mistake.
checkJSONFilter(t, in, want)
}