summaryrefslogtreecommitdiffhomepage
path: root/helpers
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2021-06-09 10:58:18 +0200
committerBjørn Erik Pedersen <[email protected]>2021-06-14 17:00:32 +0200
commitd392893cd73dc00c927f342778f6dca9628d328e (patch)
treee2ea3eec09f36b7122ecdbc498c3c130e240e85c /helpers
parenta886dd53b80322e1edf924f2ede4d4ea037c5baf (diff)
downloadhugo-d392893cd73dc00c927f342778f6dca9628d328e.tar.gz
hugo-d392893cd73dc00c927f342778f6dca9628d328e.zip
Misc config loading fixes
The main motivation behind this is simplicity and correctnes, but the new small config library is also faster: ``` BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op ``` Fixes #8633 Fixes #8618 Fixes #8630 Updates #8591 Closes #6680 Closes #5192
Diffstat (limited to 'helpers')
-rw-r--r--helpers/content_test.go5
-rw-r--r--helpers/general_test.go4
-rw-r--r--helpers/path_test.go4
-rw-r--r--helpers/testhelpers_test.go21
4 files changed, 11 insertions, 23 deletions
diff --git a/helpers/content_test.go b/helpers/content_test.go
index 573c1c90d..515b788f1 100644
--- a/helpers/content_test.go
+++ b/helpers/content_test.go
@@ -19,12 +19,11 @@ import (
"strings"
"testing"
+ "github.com/gohugoio/hugo/config"
"github.com/spf13/afero"
"github.com/gohugoio/hugo/common/loggers"
- "github.com/spf13/viper"
-
qt "github.com/frankban/quicktest"
)
@@ -103,7 +102,7 @@ func TestBytesToHTML(t *testing.T) {
}
func TestNewContentSpec(t *testing.T) {
- cfg := viper.New()
+ cfg := config.New()
c := qt.New(t)
cfg.Set("summaryLength", 32)
diff --git a/helpers/general_test.go b/helpers/general_test.go
index 518188c17..bfabcbef4 100644
--- a/helpers/general_test.go
+++ b/helpers/general_test.go
@@ -19,7 +19,7 @@ import (
"strings"
"testing"
- "github.com/spf13/viper"
+ "github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/common/loggers"
@@ -29,7 +29,7 @@ import (
func TestResolveMarkup(t *testing.T) {
c := qt.New(t)
- cfg := viper.New()
+ cfg := config.New()
spec, err := NewContentSpec(cfg, loggers.NewErrorLogger(), afero.NewMemMapFs())
c.Assert(err, qt.IsNil)
diff --git a/helpers/path_test.go b/helpers/path_test.go
index e1ac90b2f..c95951832 100644
--- a/helpers/path_test.go
+++ b/helpers/path_test.go
@@ -31,7 +31,6 @@ import (
"github.com/gohugoio/hugo/hugofs"
"github.com/spf13/afero"
- "github.com/spf13/viper"
)
func TestMakePath(t *testing.T) {
@@ -490,8 +489,6 @@ func TestExists(t *testing.T) {
}
func TestAbsPathify(t *testing.T) {
- defer viper.Reset()
-
type test struct {
inPath, workingDir, expected string
}
@@ -511,7 +508,6 @@ func TestAbsPathify(t *testing.T) {
}
for i, d := range data {
- viper.Reset()
// todo see comment in AbsPathify
ps := newTestDefaultPathSpec("workingDir", d.workingDir)
diff --git a/helpers/testhelpers_test.go b/helpers/testhelpers_test.go
index 4a6ebd0b1..7d63e4d88 100644
--- a/helpers/testhelpers_test.go
+++ b/helpers/testhelpers_test.go
@@ -2,24 +2,24 @@ package helpers
import (
"github.com/gohugoio/hugo/common/loggers"
+ "github.com/gohugoio/hugo/config"
"github.com/spf13/afero"
- "github.com/spf13/viper"
"github.com/gohugoio/hugo/hugofs"
"github.com/gohugoio/hugo/langs"
"github.com/gohugoio/hugo/modules"
)
-func newTestPathSpec(fs *hugofs.Fs, v *viper.Viper) *PathSpec {
+func newTestPathSpec(fs *hugofs.Fs, v config.Provider) *PathSpec {
l := langs.NewDefaultLanguage(v)
ps, _ := NewPathSpec(fs, l, nil)
return ps
}
func newTestDefaultPathSpec(configKeyValues ...interface{}) *PathSpec {
- v := viper.New()
+ v := config.New()
fs := hugofs.NewMem(v)
- cfg := newTestCfgFor(fs)
+ cfg := newTestCfg()
for i := 0; i < len(configKeyValues); i += 2 {
cfg.Set(configKeyValues[i].(string), configKeyValues[i+1])
@@ -27,15 +27,8 @@ func newTestDefaultPathSpec(configKeyValues ...interface{}) *PathSpec {
return newTestPathSpec(fs, cfg)
}
-func newTestCfgFor(fs *hugofs.Fs) *viper.Viper {
- v := newTestCfg()
- v.SetFs(fs.Source)
-
- return v
-}
-
-func newTestCfg() *viper.Viper {
- v := viper.New()
+func newTestCfg() config.Provider {
+ v := config.New()
v.Set("contentDir", "content")
v.Set("dataDir", "data")
v.Set("i18nDir", "i18n")
@@ -56,7 +49,7 @@ func newTestCfg() *viper.Viper {
}
func newTestContentSpec() *ContentSpec {
- v := viper.New()
+ v := config.New()
spec, err := NewContentSpec(v, loggers.NewErrorLogger(), afero.NewMemMapFs())
if err != nil {
panic(err)