diff --git a/pkg/engine/engine.go b/pkg/engine/engine.go index 00b3d917a..65e633f89 100644 --- a/pkg/engine/engine.go +++ b/pkg/engine/engine.go @@ -398,7 +398,7 @@ func cleanupExecError(filename string, err error) error { finalErrorString = finalErrorString + "\n" + i.location + " " + i.message } - return fmt.Errorf("%s\n\n\n\nError: %s", finalErrorString, err.Error()) + return fmt.Errorf("NEW ERROR FORMAT: \n%s\n\n\nORIGINAL ERROR:\n%s", finalErrorString, err.Error()) } func sortTemplates(tpls map[string]renderable) []string { diff --git a/pkg/engine/engine_test.go b/pkg/engine/engine_test.go index 8445abf83..fc2a1a3f3 100644 --- a/pkg/engine/engine_test.go +++ b/pkg/engine/engine_test.go @@ -19,7 +19,6 @@ package engine import ( "fmt" "github.com/stretchr/testify/assert" - "helm.sh/helm/v4/pkg/chart/v2/loader" "path" "strings" "sync" @@ -1303,23 +1302,34 @@ func TestRenderTplMissingKeyString(t *testing.T) { } } -func TestSometimesJesseJustBe(t *testing.T) { - c, _ := loader.Load("/home/jesse/code/camunda-platform-helm/charts/camunda-platform-8.5") +func TestNestedHelpersProducesMultilineStacktrace(t *testing.T) { + c := &chart.Chart{ + Metadata: &chart.Metadata{Name: "NestedHelperFunctions"}, + Templates: []*chart.File{ + {Name: "templates/svc.yaml", Data: []byte( + `name: {{ include "nested_helper.name" . }}`, + )}, + {Name: "templates/_helpers_1.tpl", Data: []byte( + `{{- define "nested_helper.name" -}}{{- include "common.names.get_name" . -}}{{- end -}}`, + )}, + {Name: "charts/common/templates/_helpers_2.tpl", Data: []byte( + `{{- define "common.names.get_name" -}}{{- .Release.Name | trunc 63 | trimSuffix "-" -}}{{- end -}}`, + )}, + }, + } + + v := chartutil.Values{} - v, _ := chartutil.ReadValuesFile("/home/jesse/code/helm/values.yaml") val, _ := chartutil.CoalesceValues(c, v) vals := map[string]interface{}{ "Values": val.AsMap(), } - out, err := Render(c, vals) + _, err := Render(c, vals) + assert.NotNil(t, err) if err != nil { t.Errorf("Failed to render templates: %s", err) } - assert.NotNil(t, out) - data := strings.TrimSpace(out["jesse-subchart-values-hacktest/charts/keycloak/templates/ingress.yaml"]) - fmt.Println(data) - assert.NotEmpty(t, data) } func TestRenderCustomTemplateFuncs(t *testing.T) {