summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-01 16:35:41 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2024-02-01 19:53:51 +0100
commit8d42a7942ad2cc3ecff2ad90502c7e9e87da5d52 (patch)
treed5c91d1e063eb60138084b80d22073fe5a89e750 /hugolib
parent4174a7866b75c6ae10827cc77dbae0676af8e5eb (diff)
Improve nilpointer error message
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/paginator_test.go12
-rw-r--r--hugolib/site_render.go3
2 files changed, 14 insertions, 1 deletions
diff --git a/hugolib/paginator_test.go b/hugolib/paginator_test.go
index 2ce07805e..fb592bed1 100644
--- a/hugolib/paginator_test.go
+++ b/hugolib/paginator_test.go
@@ -170,3 +170,15 @@ Paginator: {{ .Paginator }}
b.Assert(err, qt.IsNotNil)
b.Assert(err.Error(), qt.Contains, `error calling Paginator: pagination not supported for this page: kind: "page"`)
}
+
+func TestNilPointerErrorMessage(t *testing.T) {
+ files := `
+-- hugo.toml --
+-- content/p1.md --
+-- layouts/_default/single.html --
+Home Filename: {{ site.Home.File.Filename }}
+`
+ b, err := TestE(t, files)
+ b.Assert(err, qt.IsNotNil)
+ b.Assert(err.Error(), qt.Contains, `_default/single.html:1:22: executing "_default/single.html" – File is nil; wrap it in if or with: {{ with site.Home.File }}{{ .Filename }}{{ end }}`)
+}
diff --git a/hugolib/site_render.go b/hugolib/site_render.go
index 138530680..ef3e3aeef 100644
--- a/hugolib/site_render.go
+++ b/hugolib/site_render.go
@@ -20,6 +20,7 @@ import (
"strings"
"sync"
+ "github.com/gohugoio/hugo/common/herrors"
"github.com/gohugoio/hugo/hugolib/doctree"
"github.com/gohugoio/hugo/config"
@@ -110,7 +111,7 @@ func (s *Site) renderPages(ctx *siteRenderContext) error {
err := <-errs
if err != nil {
- return fmt.Errorf("failed to render pages: %w", err)
+ return fmt.Errorf("failed to render pages: %w", herrors.ImproveIfNilPointer(err))
}
return nil
}