Browse Source

flag: split out SetFlagsFromEnvBad test; declare return error

Jonathan Boulle 11 years ago
parent
commit
5604b4c57c
2 changed files with 7 additions and 5 deletions
  1. 3 2
      pkg/flags/flag.go
  2. 4 3
      pkg/flags/flag_test.go

+ 3 - 2
pkg/flags/flag.go

@@ -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

+ 4 - 3
pkg/flags/flag_test.go

@@ -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")
 	}
 }