diff --git a/hugolib/image_test.go b/hugolib/image_test.go index 315da6b78..cd7ec7a7e 100644 --- a/hugolib/image_test.go +++ b/hugolib/image_test.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() diff --git a/hugolib/site.go b/hugolib/site.go index 69e745e61..1df7d6076 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -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 }