Skip to content

Commit

Permalink
fix(CLI): print msg or errors wrapping exec.ExitError
Browse files Browse the repository at this point in the history
  • Loading branch information
mcombuechen committed Apr 26, 2024
1 parent 1a56a0b commit c611a97
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 9 deletions.
3 changes: 1 addition & 2 deletions cliv2/cmd/cliv2/main.go
Expand Up @@ -370,8 +370,7 @@ func handleError(err error) HandleError {

func displayError(err error, output io.Writer, config configuration.Configuration) {
if err != nil {
var exitError *exec.ExitError
isExitError := errors.As(err, &exitError)
_, isExitError := err.(*exec.ExitError)
isErrorWithCode := errors.As(err, &cli_errors.ErrorWithExitCode{})
if isExitError || isErrorWithCode {
return
Expand Down
14 changes: 14 additions & 0 deletions cliv2/cmd/cliv2/main_test.go
Expand Up @@ -393,4 +393,18 @@ func Test_displayError(t *testing.T) {
assert.Equal(t, "", b.String())
})
}

t.Run("prints messages of error wrapping exec.ExitError", func(t *testing.T) {
var b bytes.Buffer
config := configuration.NewInMemory()
err := &wrErr{wraps: &exec.ExitError{}}
displayError(err, &b, config)

assert.Equal(t, "something went wrong\n", b.String())
})
}

type wrErr struct{ wraps error }

func (e *wrErr) Error() string { return "something went wrong" }
func (e *wrErr) Unwrap() error { return e.wraps }
4 changes: 2 additions & 2 deletions cliv2/go.mod
Expand Up @@ -9,9 +9,9 @@ require (
github.com/google/uuid v1.6.0
github.com/pkg/errors v0.9.1
github.com/rs/zerolog v1.32.0
github.com/snyk/cli-extension-dep-graph v0.0.0-20240322051151-679aafdfc14b
github.com/snyk/cli-extension-dep-graph v0.0.0-20240426125928-8d56ac52821e
github.com/snyk/cli-extension-iac-rules v0.0.0-20240404084125-0098857e0e1a
github.com/snyk/cli-extension-sbom v0.0.0-20240425141312-f1e9cca29f34
github.com/snyk/cli-extension-sbom v0.0.0-20240426130148-b83c2ebc75c4
github.com/snyk/container-cli v0.0.0-20240322120441-6d9b9482f9b1
github.com/snyk/go-application-framework v0.0.0-20240417122153-755586b0312f
github.com/snyk/go-httpauth v0.0.0-20240307114523-1f5ea3f55c65
Expand Down
8 changes: 4 additions & 4 deletions cliv2/go.sum
Expand Up @@ -725,12 +725,12 @@ github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A=
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
github.com/snyk/cli-extension-dep-graph v0.0.0-20240322051151-679aafdfc14b h1:R288zjTtgpacI1iAkVdfUqARfTQ8junG5FS9HFsn8Tc=
github.com/snyk/cli-extension-dep-graph v0.0.0-20240322051151-679aafdfc14b/go.mod h1:QF3v8HBpOpyudYNCuR8LqfULutO76c91sBdLzD+pBJU=
github.com/snyk/cli-extension-dep-graph v0.0.0-20240426125928-8d56ac52821e h1:j17Ujw51/2SC3m1hbNCUwxFc8aNIFyfpnwFAszgEM8c=
github.com/snyk/cli-extension-dep-graph v0.0.0-20240426125928-8d56ac52821e/go.mod h1:QF3v8HBpOpyudYNCuR8LqfULutO76c91sBdLzD+pBJU=
github.com/snyk/cli-extension-iac-rules v0.0.0-20240404084125-0098857e0e1a h1:pvj3bsgPMmYma56TU+rjFsulqS2kV1D2kBg1mVb8Et4=
github.com/snyk/cli-extension-iac-rules v0.0.0-20240404084125-0098857e0e1a/go.mod h1:4c6XS4n6mWbJM9md3r4B2NFgjs2tyi8GzGlz1BbWIx0=
github.com/snyk/cli-extension-sbom v0.0.0-20240425141312-f1e9cca29f34 h1:dFw6otYmbsptJ+jLy6kfhfXSKdlH62OC+9iMRaBRT1w=
github.com/snyk/cli-extension-sbom v0.0.0-20240425141312-f1e9cca29f34/go.mod h1:lqmQT+QdzLdfi7qsqIH4qvCsSWu+P09GDFwQcmFfC0g=
github.com/snyk/cli-extension-sbom v0.0.0-20240426130148-b83c2ebc75c4 h1:nLbplrdYB4ljdFSnpmw2rCqmBVxHcvZOFEqc8JF9OQc=
github.com/snyk/cli-extension-sbom v0.0.0-20240426130148-b83c2ebc75c4/go.mod h1:lqmQT+QdzLdfi7qsqIH4qvCsSWu+P09GDFwQcmFfC0g=
github.com/snyk/code-client-go v1.4.2 h1:Vy27Xr6CVAs0qKZlU8I/fxWWI6X2ppzan6IZnUJYmvg=
github.com/snyk/code-client-go v1.4.2/go.mod h1:Kkr7pQc8ItsBZSYd6A1S4r4VHO6HNyTWZsqi18sAtwQ=
github.com/snyk/container-cli v0.0.0-20240322120441-6d9b9482f9b1 h1:9RKY9NdX5DrJAoVXDP0JiqrXT+4Nb9NH8pjEcA0NsLA=
Expand Down
3 changes: 2 additions & 1 deletion test/jest/acceptance/snyk-sbom/sbom.spec.ts
Expand Up @@ -177,7 +177,7 @@ describe('snyk sbom (mocked server only)', () => {
test('`sbom` retains the exit error code of the underlying SCA process', async () => {
const project = await createProject('empty');

const { code } = await runSnykCLI(
const { code, stdout } = await runSnykCLI(
`sbom --org aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee --format cyclonedx1.5+json --debug`,
{
cwd: project.path(),
Expand All @@ -186,5 +186,6 @@ describe('snyk sbom (mocked server only)', () => {
);

expect(code).toBe(3);
expect(stdout).toContain("An error occurred while running the underlying analysis needed to generate the SBOM.")
});
});

0 comments on commit c611a97

Please sign in to comment.