diff --git a/pkg/engine/engine.go b/pkg/engine/engine.go index 00d1a5a64..d782f70bc 100644 --- a/pkg/engine/engine.go +++ b/pkg/engine/engine.go @@ -79,7 +79,7 @@ func New(config *rest.Config) Engine { func (e Engine) Render(chrt ci.Charter, values common.Values) (map[string]string, error) { tmap, err := allTemplates(chrt, values) if err != nil { - return nil, err + return nil, fmt.Errorf("collecting templates: %w", err) } return e.render(tmap) } @@ -570,7 +570,7 @@ func recAllTpls(c ci.Charter, templates map[string]renderable, values common.Val } subTpls, err := recAllTpls(child, templates, next) if err != nil { - return nil, err + return nil, fmt.Errorf("error rendering dependency chart %q at %q: %w", sub.Name(), sub.ChartFullPath(), err) } subCharts[sub.Name()] = subTpls } diff --git a/pkg/engine/engine_test.go b/pkg/engine/engine_test.go index c87932555..f5c6cb583 100644 --- a/pkg/engine/engine_test.go +++ b/pkg/engine/engine_test.go @@ -599,8 +599,10 @@ func TestAllTemplates(t *testing.T) { } } +type unsupportedChart struct{} + func TestRenderInvalidChartType(t *testing.T) { - _, err := Render(struct{}{}, common.Values{}) + _, err := Render(unsupportedChart{}, common.Values{}) if err == nil { t.Error("Expected error when rendering invalid chart type, got nil") } else if !strings.Contains(err.Error(), "unsupported chart type") {