fixes issue #1661 and adds supporting test

This commit is contained in:
Chris Cooper 2016-02-09 10:35:39 -05:00
parent b7b46f9e3a
commit fe0e3aaaa0
2 changed files with 29 additions and 0 deletions

View File

@ -1292,6 +1292,10 @@ func ReadConfigPaths(paths []string) (*Config, error) {
if !strings.HasSuffix(fi.Name(), ".json") {
continue
}
// If the config file is empty, ignore it
if fi.Size() == 0 {
continue
}
subpath := filepath.Join(path, fi.Name())
f, err := os.Open(subpath)

View File

@ -103,3 +103,28 @@ func TestConfigTestCommandSucceedOnMinimalConfigDir(t *testing.T) {
t.Fatalf("bad: %d", code)
}
}
func TestConfigTestCommandSucceedOnConfigDirWithEmptyFile(t *testing.T) {
td, err := ioutil.TempDir("", "consul")
if err != nil {
t.Fatalf("err: %s", err)
}
defer os.RemoveAll(td)
err = ioutil.WriteFile(filepath.Join(td, "config.json"), []byte{}, 0644)
if err != nil {
t.Fatalf("err: %s", err)
}
cmd := &ConfigTestCommand{
Ui: new(cli.MockUi),
}
args := []string{
"-config-dir", td,
}
if code := cmd.Run(args); code != 0 {
t.Fatalf("bad: %d", code)
}
}