Do not read config from os.Environ when running tests
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 16 Jun 2021 16:58:40 +0000 (18:58 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 16 Jun 2021 16:58:40 +0000 (18:58 +0200)
Fixes #8655

commands/commandeer.go
common/hugo/hugo.go
hugolib/config.go

index 06e27cf18c593255d16e9372e5a5899cf500f820..457f708d6f4a8b058ac450e0b1f901e521110f3d 100644 (file)
@@ -303,7 +303,6 @@ func (c *commandeer) loadConfig(mustHaveConfigFile, running bool) error {
                        WorkingDir:   dir,
                        Filename:     c.h.cfgFile,
                        AbsConfigDir: c.h.getConfigDir(dir),
-                       Environ:      os.Environ(),
                        Environment:  environment,
                },
                cfgSetAndInit,
index 13ed477367255080ecb2e96028254c6d411994d8..bf3dee26ef1dc817bc60eea3fdac30aa48ad2c07 100644 (file)
@@ -141,3 +141,13 @@ func GetDependencyList() []string {
 
        return deps
 }
+
+// IsRunningAsTest reports whether we are running as a test.
+func IsRunningAsTest() bool {
+       for _, arg := range os.Args {
+               if strings.HasPrefix(arg, "-test") {
+                       return true
+               }
+       }
+       return false
+}
index f559d7fd30b619cd96eb3498b03eafa9de95d800..deba8abe63f504baff5cfc45f324fd19feb935b7 100644 (file)
@@ -55,7 +55,7 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid
                d.Environment = hugo.EnvironmentProduction
        }
 
-       if len(d.Environ) == 0 {
+       if len(d.Environ) == 0 && !hugo.IsRunningAsTest() {
                d.Environ = os.Environ()
        }