diff options
Diffstat (limited to 'resources/resource_transformers')
-rw-r--r-- | resources/resource_transformers/babel/babel.go | 4 | ||||
-rw-r--r-- | resources/resource_transformers/postcss/integration_test.go | 19 | ||||
-rw-r--r-- | resources/resource_transformers/postcss/postcss.go | 6 |
3 files changed, 25 insertions, 4 deletions
diff --git a/resources/resource_transformers/babel/babel.go b/resources/resource_transformers/babel/babel.go index 5f8fcb00f..2999d73cb 100644 --- a/resources/resource_transformers/babel/babel.go +++ b/resources/resource_transformers/babel/babel.go @@ -181,7 +181,7 @@ func (t *babelTransformation) Transform(ctx *resources.ResourceTransformationCtx if err != nil { if hexec.IsNotFound(err) { // This may be on a CI server etc. Will fall back to pre-built assets. - return herrors.ErrFeatureNotAvailable + return &herrors.FeatureNotAvailableError{Cause: err} } return err } @@ -200,7 +200,7 @@ func (t *babelTransformation) Transform(ctx *resources.ResourceTransformationCtx err = cmd.Run() if err != nil { if hexec.IsNotFound(err) { - return herrors.ErrFeatureNotAvailable + return &herrors.FeatureNotAvailableError{Cause: err} } return fmt.Errorf(errBuf.String()+": %w", err) } diff --git a/resources/resource_transformers/postcss/integration_test.go b/resources/resource_transformers/postcss/integration_test.go index c920fe17d..74aaa2661 100644 --- a/resources/resource_transformers/postcss/integration_test.go +++ b/resources/resource_transformers/postcss/integration_test.go @@ -168,6 +168,25 @@ func TestTransformPostCSSError(t *testing.T) { } +func TestTransformPostCSSNotInstalledError(t *testing.T) { + if !htesting.IsCI() { + t.Skip("Skip long running test when running locally") + } + + c := qt.New(t) + + s, err := hugolib.NewIntegrationTestBuilder( + hugolib.IntegrationTestConfig{ + T: c, + NeedsOsFS: true, + TxtarString: postCSSIntegrationTestFiles, + }).BuildE() + + s.AssertIsFileError(err) + c.Assert(err.Error(), qt.Contains, `binary with name "npx" not found`) + +} + // #9895 func TestTransformPostCSSImportError(t *testing.T) { if !htesting.IsCI() { diff --git a/resources/resource_transformers/postcss/postcss.go b/resources/resource_transformers/postcss/postcss.go index 083607246..a65fa3783 100644 --- a/resources/resource_transformers/postcss/postcss.go +++ b/resources/resource_transformers/postcss/postcss.go @@ -205,7 +205,7 @@ func (t *postcssTransformation) Transform(ctx *resources.ResourceTransformationC if err != nil { if hexec.IsNotFound(err) { // This may be on a CI server etc. Will fall back to pre-built assets. - return herrors.ErrFeatureNotAvailable + return &herrors.FeatureNotAvailableError{Cause: err} } return err } @@ -240,7 +240,9 @@ func (t *postcssTransformation) Transform(ctx *resources.ResourceTransformationC err = cmd.Run() if err != nil { if hexec.IsNotFound(err) { - return herrors.ErrFeatureNotAvailable + return &herrors.FeatureNotAvailableError{ + Cause: err, + } } return imp.toFileError(errBuf.String()) } |