diff options
author | Austin Clements <austin@google.com> | 2023-05-17 17:59:49 -0400 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2023-05-18 21:19:05 +0000 |
commit | 78203ac5369b90e115be5d34272450994b0e4544 (patch) | |
tree | 690436bdedd5c2692b28e6e58290ba267d868823 /src/cmd/dist | |
parent | b5515eef565a7d0fd820009fc8c7b282155340a5 (diff) | |
download | go-78203ac5369b90e115be5d34272450994b0e4544.tar.gz go-78203ac5369b90e115be5d34272450994b0e4544.zip |
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>
Diffstat (limited to 'src/cmd/dist')
-rw-r--r-- | src/cmd/dist/test.go | 4 | ||||
-rw-r--r-- | src/cmd/dist/testjson.go | 5 | ||||
-rw-r--r-- | src/cmd/dist/testjson_test.go | 4 |
3 files changed, 6 insertions, 7 deletions
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 04dfd22f88..0294a5babb 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -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 diff --git a/src/cmd/dist/testjson.go b/src/cmd/dist/testjson.go index 261b9584ce..542dc8493e 100644 --- a/src/cmd/dist/testjson.go +++ b/src/cmd/dist/testjson.go @@ -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 } diff --git a/src/cmd/dist/testjson_test.go b/src/cmd/dist/testjson_test.go index 2ff7bf61f5..dbd1f27ea1 100644 --- a/src/cmd/dist/testjson_test.go +++ b/src/cmd/dist/testjson_test.go @@ -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) } |