mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
pkg/flags: fix "SetFlagsFromEnv" error masking
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
This commit is contained in:
parent
d84d3f2f77
commit
965d9806d5
@ -78,7 +78,9 @@ func SetFlagsFromEnv(prefix string, fs *flag.FlagSet) error {
|
||||
})
|
||||
usedEnvKey := make(map[string]bool)
|
||||
fs.VisitAll(func(f *flag.Flag) {
|
||||
err = setFlagFromEnv(fs, prefix, f.Name, usedEnvKey, alreadySet, true)
|
||||
if serr := setFlagFromEnv(fs, prefix, f.Name, usedEnvKey, alreadySet, true); serr != nil {
|
||||
err = serr
|
||||
}
|
||||
})
|
||||
verifyEnv(prefix, usedEnvKey, alreadySet)
|
||||
return err
|
||||
|
@ -76,3 +76,18 @@ func TestSetFlagsFromEnvBad(t *testing.T) {
|
||||
t.Errorf("err=nil, want != nil")
|
||||
}
|
||||
}
|
||||
|
||||
func TestSetFlagsFromEnvParsingError(t *testing.T) {
|
||||
fs := flag.NewFlagSet("etcd", flag.ContinueOnError)
|
||||
var tickMs uint
|
||||
fs.UintVar(&tickMs, "heartbeat-interval", 0, "Time (in milliseconds) of a heartbeat interval.")
|
||||
|
||||
if oerr := os.Setenv("ETCD_HEARTBEAT_INTERVAL", "100 # ms"); oerr != nil {
|
||||
t.Fatal(oerr)
|
||||
}
|
||||
defer os.Unsetenv("ETCD_HEARTBEAT_INTERVAL")
|
||||
|
||||
if serr := SetFlagsFromEnv("ETCD", fs); serr.Error() != `invalid value "100 # ms" for ETCD_HEARTBEAT_INTERVAL: strconv.ParseUint: parsing "100 # ms": invalid syntax` {
|
||||
t.Fatalf("expected parsing error, got %v", serr)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user