internal/test: add more info on GoBuild failures

Updates golang/go#59767

Change-Id: I314db4e5837031210fe7b52630898b88d044b7a6
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/560376
Run-TryBot: Zvonimir Pavlinovic <zpavlinovic@google.com>
Reviewed-by: Maceo Thompson <maceothompson@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Zvonimir Pavlinovic 2024-02-01 14:42:36 +00:00
Родитель c28edb3d30
Коммит fadf1fa8c2
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -5,6 +5,7 @@
package test
import (
"errors"
"fmt"
"os"
"os/exec"
@ -75,7 +76,10 @@ func GoBuild(t *testing.T, dir, tags string, strip bool, envVarVals ...string) (
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
t.Fatal(err)
if ee := (*exec.ExitError)(nil); errors.As(err, &ee) && len(ee.Stderr) > 0 {
t.Fatalf("%v: %v\n%s", cmd, err, ee.Stderr)
}
t.Fatalf("%v: %v", cmd, err)
}
return binaryPath + exeSuffix, func() { os.RemoveAll(tmpDir) }
}