Skip to content
Permalink
Browse files

hugolib: Fix timeout number parsing for YAML/JSON config

Where numbers are all floats.

Fixes #6555
  • Loading branch information
bep committed Nov 29, 2019
1 parent 003ba5b commit b60ae35b97c4f44b9b09fcf06c863c695bc3c73a
Showing with 7 additions and 7 deletions.
  1. +2 −2 hugolib/image_test.go
  2. +5 −5 hugolib/site.go
@@ -36,7 +36,7 @@ func TestImageOps(t *testing.T) {
c.Assert(err, qt.IsNil)
defer clean()

newBuilder := func(timeout string) *sitesBuilder {
newBuilder := func(timeout interface{}) *sitesBuilder {

v := viper.New()
v.Set("workingDir", workDir)
@@ -152,7 +152,7 @@ IMG SHORTCODE: /images/sunset_hu59e56ffff1bc1d8d122b1403d34e039f_90587_129x239_r
c.Assert(err, qt.Not(qt.IsNil))
}

b = newBuilder("30s")
b = newBuilder(29000)
b.Build(BuildCfg{})

assertImages()
@@ -413,11 +413,11 @@ func newSite(cfg deps.DepsCfg) (*Site, error) {

timeout := 30 * time.Second
if cfg.Language.IsSet("timeout") {
switch v := cfg.Language.Get("timeout").(type) {
case int64:
timeout = time.Duration(v) * time.Millisecond
case string:
d, err := time.ParseDuration(v)
v := cfg.Language.Get("timeout")
if n := cast.ToInt(v); n > 0 {
timeout = time.Duration(n) * time.Millisecond
} else {
d, err := time.ParseDuration(cast.ToString(v))
if err == nil {
timeout = d
}

0 comments on commit b60ae35

Please sign in to comment.
You can’t perform that action at this time.