mirror of
https://github.com/golang/go
synced 2024-11-17 10:14:46 -07:00
cmd/dist: handle -json flag in runPending (minimal)
The -json flag is new to Go 1.21, but missed skips in runPending. This CL adds minimal code to fix that. CL 512115 cleans up a bit. For #37486. Fixes (via backport) #61557. Change-Id: I53e426c9a5585b2703f0ff6661a0470e1993f960 Reviewed-on: https://go-review.googlesource.com/c/go/+/512719 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Austin Clements <austin@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
parent
8488309192
commit
68d50ca271
27
src/cmd/dist/test.go
vendored
27
src/cmd/dist/test.go
vendored
@ -91,6 +91,29 @@ type work struct {
|
|||||||
end chan bool
|
end chan bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// printSkip prints a skip message for all of work.
|
||||||
|
func (w *work) printSkip(t *tester, msg string) {
|
||||||
|
if t.json {
|
||||||
|
type event struct {
|
||||||
|
Time time.Time
|
||||||
|
Action string
|
||||||
|
Package string
|
||||||
|
Output string `json:",omitempty"`
|
||||||
|
}
|
||||||
|
enc := json.NewEncoder(&w.out)
|
||||||
|
ev := event{Time: time.Now(), Package: w.dt.name, Action: "start"}
|
||||||
|
enc.Encode(ev)
|
||||||
|
ev.Action = "output"
|
||||||
|
ev.Output = msg
|
||||||
|
enc.Encode(ev)
|
||||||
|
ev.Action = "skip"
|
||||||
|
ev.Output = ""
|
||||||
|
enc.Encode(ev)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
fmt.Fprintln(&w.out, msg)
|
||||||
|
}
|
||||||
|
|
||||||
// A distTest is a test run by dist test.
|
// A distTest is a test run by dist test.
|
||||||
// Each test has a unique name and belongs to a group (heading)
|
// Each test has a unique name and belongs to a group (heading)
|
||||||
type distTest struct {
|
type distTest struct {
|
||||||
@ -1265,7 +1288,7 @@ func (t *tester) runPending(nextTest *distTest) {
|
|||||||
go func(w *work) {
|
go func(w *work) {
|
||||||
if !<-w.start {
|
if !<-w.start {
|
||||||
timelog("skip", w.dt.name)
|
timelog("skip", w.dt.name)
|
||||||
w.out.WriteString("skipped due to earlier error\n")
|
w.printSkip(t, "skipped due to earlier error")
|
||||||
} else {
|
} else {
|
||||||
timelog("start", w.dt.name)
|
timelog("start", w.dt.name)
|
||||||
w.err = w.cmd.Run()
|
w.err = w.cmd.Run()
|
||||||
@ -1276,7 +1299,7 @@ func (t *tester) runPending(nextTest *distTest) {
|
|||||||
if isUnsupportedVMASize(w) {
|
if isUnsupportedVMASize(w) {
|
||||||
timelog("skip", w.dt.name)
|
timelog("skip", w.dt.name)
|
||||||
w.out.Reset()
|
w.out.Reset()
|
||||||
w.out.WriteString("skipped due to unsupported VMA\n")
|
w.printSkip(t, "skipped due to unsupported VMA")
|
||||||
w.err = nil
|
w.err = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user