(t *testing.T)
| 25 | ) |
| 26 | |
| 27 | func TestSetFlagsFromEnv(t *testing.T) { |
| 28 | fs := flag.NewFlagSet("testing", flag.ExitOnError) |
| 29 | fs.String("a", "", "") |
| 30 | fs.String("b", "", "") |
| 31 | fs.String("c", "", "") |
| 32 | fs.Parse([]string{}) |
| 33 | |
| 34 | // flags should be settable using env vars |
| 35 | t.Setenv("ETCD_A", "foo") |
| 36 | // and command-line flags |
| 37 | require.NoError(t, fs.Set("b", "bar")) |
| 38 | |
| 39 | // first verify that flags are as expected before reading the env |
| 40 | for f, want := range map[string]string{ |
| 41 | "a": "", |
| 42 | "b": "bar", |
| 43 | } { |
| 44 | got := fs.Lookup(f).Value.String() |
| 45 | require.Equalf(t, want, got, "flag %q=%q, want %q", f, got, want) |
| 46 | } |
| 47 | |
| 48 | // now read the env and verify flags were updated as expected |
| 49 | require.NoError(t, SetFlagsFromEnv(zaptest.NewLogger(t), "ETCD", fs)) |
| 50 | for f, want := range map[string]string{ |
| 51 | "a": "foo", |
| 52 | "b": "bar", |
| 53 | } { |
| 54 | got := fs.Lookup(f).Value.String() |
| 55 | assert.Equalf(t, want, got, "flag %q=%q, want %q", f, got, want) |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | func TestSetFlagsFromEnvBad(t *testing.T) { |
| 60 | // now verify that an error is propagated |
nothing calls this directly
no test coverage detected
searching dependent graphs…