]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Warn about unknown kinds in disableKinds
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 28 Jul 2023 10:04:03 +0000 (12:04 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 28 Jul 2023 13:14:23 +0000 (15:14 +0200)
See #11256

config/allconfig/allconfig.go
hugolib/config_test.go
hugolib/integrationtest_builder.go
resources/kinds/kinds.go

index 6d206d7a40d41f2edef3ab9d5c857ec30ac72b9c..00453fb6c11ec1410e0c794bea58388dc21ccced 100644 (file)
@@ -244,6 +244,10 @@ func (c *Config) CompileConfig(logger loggers.Logger) error {
                        // Legacy config.
                        kind = "taxonomy"
                }
+               if kinds.GetKindAny(kind) == "" {
+                       logger.Warnf("Unknown kind %q in disableKinds", kind)
+                       continue
+               }
                disabledKinds[kind] = true
        }
        kindOutputFormats := make(map[string]output.Formats)
index a39d57781976e262389cab50255d9892d7ff8ec1..9a1d3bcbf9079112ccc4278e294c9022f767be88 100644 (file)
@@ -1611,3 +1611,30 @@ List.
        b.AssertDestinationExists("categories/index.html", false)
 
 }
+
+func TestDisableKindsUnknown(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+disableKinds = ['foo', 'home']
+-- layouts/_default/list.html --
+List.
+
+
+
+`
+       b := NewIntegrationTestBuilder(
+               IntegrationTestConfig{
+                       T:           t,
+                       TxtarString: files,
+                       LogLevel:    logg.LevelWarn,
+                       BuildCfg:    BuildCfg{SkipRender: true},
+               },
+       ).Init()
+
+       fmt.Println("LOG:", b.LogString())
+
+       b.AssertLogContains("WARN  Unknown kind \"foo\" in disableKinds\n")
+
+}
index ada01b6eefc67010fe2a43b43f58e93638132392..6a5cd1ce3325a626ec0ec4b9c2cbff57bd839cb9 100644 (file)
@@ -228,6 +228,14 @@ func (s *IntegrationTestBuilder) BuildE() (*IntegrationTestBuilder, error) {
        return s, err
 }
 
+func (s *IntegrationTestBuilder) Init() *IntegrationTestBuilder {
+       if err := s.initBuilder(); err != nil {
+               s.Fatalf("Failed to init builder: %s", err)
+       }
+       return s
+
+}
+
 type IntegrationTestDebugConfig struct {
        Out io.Writer
 
@@ -356,12 +364,23 @@ func (s *IntegrationTestBuilder) initBuilder() error {
                        flags.Set("workingDir", s.Cfg.WorkingDir)
                }
 
+               w := &s.logBuff
+
+               logger := loggers.New(
+                       loggers.Options{
+                               Stdout:   w,
+                               Stderr:   w,
+                               Level:    s.Cfg.LogLevel,
+                               Distinct: true,
+                       },
+               )
+
                res, err := allconfig.LoadConfig(
                        allconfig.ConfigSourceDescriptor{
                                Flags:     flags,
                                ConfigDir: configDir,
                                Fs:        afs,
-                               Logger:    loggers.NewDefault(),
+                               Logger:    logger,
                                Environ:   s.Cfg.Environ,
                        },
                )
@@ -375,7 +394,7 @@ func (s *IntegrationTestBuilder) initBuilder() error {
 
                s.Assert(err, qt.IsNil)
 
-               depsCfg := deps.DepsCfg{Configs: res, Fs: fs, LogLevel: s.Cfg.LogLevel, LogOut: &s.logBuff}
+               depsCfg := deps.DepsCfg{Configs: res, Fs: fs, LogLevel: logger.Level(), LogOut: logger.Out()}
                sites, err := NewHugoSites(depsCfg)
                if err != nil {
                        initErr = err
index b1d1c18f4455796192d769d7289849cab1b0db12..7bcdb5ca7a4337127b56a6ca4cb1ab876ea18989 100644 (file)
@@ -93,15 +93,3 @@ func GetKindAny(s string) string {
        }
        return kindMapTemporary[strings.ToLower(s)]
 }
-
-// IsDeprecated returns whether the given kind is deprecated.
-func IsDeprecated(s string) bool {
-       s = strings.ToLower(s)
-
-       switch s {
-       case "taxonomyterm":
-               return true
-       default:
-               return false
-       }
-}