Skip to content

Commit b709654

Browse files
committed
fix: remove double validation on folder when register flag
Signed-off-by: SamYuan1990 <yy19902439@126.com>
1 parent 63fc7f6 commit b709654

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

cmd/kepler/main.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@ func parseArgsAndConfig() (*config.Config, error) {
105105
return nil, err
106106
}
107107

108+
// Validate config before run
109+
if err := cfg.Validate(); err != nil {
110+
logger.Error("Error validate command line flags", "error", err.Error())
111+
return nil, err
112+
}
113+
108114
return cfg, nil
109115
}
110116

config/config.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,6 @@ func Load(r io.Reader) (*Config, error) {
186186
}
187187
cfg.sanitize()
188188

189-
if err := cfg.Validate(); err != nil {
190-
return nil, err
191-
}
192-
193189
return cfg, nil
194190
}
195191

@@ -237,8 +233,8 @@ func RegisterFlags(app *kingpin.Application) ConfigUpdaterFn {
237233
logLevel := app.Flag(LogLevelFlag, "Logging level: debug, info, warn, error").Default("info").Enum("debug", "info", "warn", "error")
238234
logFormat := app.Flag(LogFormatFlag, "Logging format: text or json").Default("text").Enum("text", "json")
239235
// host
240-
hostSysFS := app.Flag(HostSysFSFlag, "Host sysfs path").Default("/sys").ExistingDir()
241-
hostProcFS := app.Flag(HostProcFSFlag, "Host procfs path").Default("/proc").ExistingDir()
236+
hostSysFS := app.Flag(HostSysFSFlag, "Host sysfs path").Default("/sys").String()
237+
hostProcFS := app.Flag(HostProcFSFlag, "Host procfs path").Default("/proc").String()
242238

243239
// monitor
244240
monitorInterval := app.Flag(MonitorIntervalFlag,
@@ -308,7 +304,7 @@ func RegisterFlags(app *kingpin.Application) ConfigUpdaterFn {
308304
}
309305

310306
cfg.sanitize()
311-
return cfg.Validate()
307+
return nil
312308
}
313309
}
314310

config/config_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ log:
6767
`
6868
reader := strings.NewReader(yamlData)
6969
cfg, err := Load(reader)
70-
assert.Error(t, err)
70+
assert.NoError(t, err)
71+
err = cfg.Validate()
7172
assert.Contains(t, err.Error(), "invalid configuration")
72-
assert.Nil(t, cfg)
7373
}
7474

7575
func TestCommandLinePrecedence(t *testing.T) {
@@ -359,7 +359,8 @@ func TestConfigValidation(t *testing.T) {
359359
_, parseErr := app.Parse(tc.args)
360360
assert.Error(t, parseErr, "expected test args to produce a parse error")
361361
cfg := DefaultConfig()
362-
err := updateConfig(cfg)
362+
updateConfig(cfg)
363+
err := cfg.Validate()
363364
assert.Error(t, err, "invalid input should be rejected by validation")
364365
assert.Contains(t, err.Error(), tc.expectedError)
365366
})

0 commit comments

Comments
 (0)