aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/dist
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2023-05-17 17:59:49 -0400
committerGopher Robot <gobot@golang.org>2023-05-18 21:19:05 +0000
commit78203ac5369b90e115be5d34272450994b0e4544 (patch)
tree690436bdedd5c2692b28e6e58290ba267d868823 /src/cmd/dist
parentb5515eef565a7d0fd820009fc8c7b282155340a5 (diff)
downloadgo-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.go4
-rw-r--r--src/cmd/dist/testjson.go5
-rw-r--r--src/cmd/dist/testjson_test.go4
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)
}