1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-09-16 09:26:22 +02:00

[golangBuild] Add better error logging to isMainPackage (#5308)

Co-authored-by: Ashly Mathew <ashly.mathew@sap.com>
Co-authored-by: Googlom <36107508+Googlom@users.noreply.github.com>
This commit is contained in:
Lukas Heimann
2025-04-28 09:56:11 +02:00
committed by GitHub
parent 530dff5011
commit 9d1dc17e16
2 changed files with 15 additions and 1 deletions

View File

@@ -570,7 +570,7 @@ func isMainPackage(utils golangBuildUtils, pkg string) (bool, error) {
utils.Stderr(outBuffer)
err := utils.RunExecutable("go", "list", "-f", "{{ .Name }}", pkg)
if err != nil {
return false, err
return false, fmt.Errorf("%w: %s", err, outBuffer.String())
}
if outBuffer.String() != "main" {

View File

@@ -4,6 +4,7 @@
package cmd
import (
"errors"
"fmt"
"io"
"net/http"
@@ -871,6 +872,19 @@ func TestRunGolangBuildPerArchitecture(t *testing.T) {
})
}
func TestIsMainPackageError(t *testing.T) {
utils := newGolangBuildTestsUtils()
utils.ShouldFailOnCommand = map[string]error{
"go list -f {{ .Name }} package/foo": errors.New("some error"),
}
utils.StdoutReturn = map[string]string{
"go list -f {{ .Name }} package/foo": "some specific error log",
}
ok, err := isMainPackage(utils, "package/foo")
assert.False(t, ok)
assert.EqualError(t, err, "some error: some specific error log")
}
func TestPrepareGolangEnvironment(t *testing.T) {
modTestFile := `
module private.example.com/m