flag: split out SetFlagsFromEnvBad test; declare return error

This commit is contained in:
Jonathan Boulle 2014-11-06 16:40:13 -08:00
parent 321d65c4ac
commit 5604b4c57c
2 changed files with 7 additions and 5 deletions

View File

@ -85,7 +85,8 @@ func UsageWithIgnoredFlagsFunc(fs *flag.FlagSet, ignore []string) func() {
// environment variables. Environment variables take the name of the flag but
// are UPPERCASE, have the prefix "ETCD_", and any dashes are replaced by
// underscores - for example: some-flag => ETCD_SOME_FLAG
func SetFlagsFromEnv(fs *flag.FlagSet) (err error) {
func SetFlagsFromEnv(fs *flag.FlagSet) error {
var err error
alreadySet := make(map[string]bool)
fs.Visit(func(f *flag.Flag) {
alreadySet[f.Name] = true
@ -101,7 +102,7 @@ func SetFlagsFromEnv(fs *flag.FlagSet) (err error) {
}
}
})
return
return err
}
// URLsFromFlags decides what URLs should be using two different flags

View File

@ -71,13 +71,14 @@ func TestSetFlagsFromEnv(t *testing.T) {
t.Errorf("flag %q=%q, want %q", f, got, want)
}
}
}
func TestSetFlagsFromEnvBad(t *testing.T) {
// now verify that an error is propagated
fs = flag.NewFlagSet("testing", flag.ExitOnError)
fs := flag.NewFlagSet("testing", flag.ExitOnError)
fs.Int("x", 0, "")
os.Setenv("ETCD_X", "not_a_number")
err = SetFlagsFromEnv(fs)
if err == nil {
if err := SetFlagsFromEnv(fs); err == nil {
t.Errorf("err=nil, want != nil")
}
}