mirror of https://github.com/docker/cli.git
cli/config: improve error when failing to parse config file
The format had a stray colon and space included. While fixing that, also updating the error message to clarify the error happened while parsing the file (not so much "loading" it). Before: WARNING: Error loading config file: /root/.docker/config.json: : json: cannot unmarshal bool into Go struct field ConfigFile.features of type string After: WARNING: Error parsing config file (/root/.docker/config.json): json: cannot unmarshal bool into Go struct field ConfigFile.features of type string Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
062eecf14a
commit
d96f8b7f91
|
@ -143,7 +143,7 @@ func load(configDir string) (*configfile.ConfigFile, error) {
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
err = configFile.LoadFromReader(file)
|
err = configFile.LoadFromReader(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = errors.Wrapf(err, "loading config file: %s: ", filename)
|
err = errors.Wrapf(err, "parsing config file (%s)", filename)
|
||||||
}
|
}
|
||||||
return configFile, err
|
return configFile, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,6 +118,17 @@ func TestEmptyJSON(t *testing.T) {
|
||||||
saveConfigAndValidateNewFormat(t, config, tmpHome)
|
saveConfigAndValidateNewFormat(t, config, tmpHome)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMalformedJSON(t *testing.T) {
|
||||||
|
tmpHome := t.TempDir()
|
||||||
|
|
||||||
|
fn := filepath.Join(tmpHome, ConfigFileName)
|
||||||
|
err := os.WriteFile(fn, []byte("{"), 0o600)
|
||||||
|
assert.NilError(t, err)
|
||||||
|
|
||||||
|
_, err = Load(tmpHome)
|
||||||
|
assert.Check(t, is.ErrorContains(err, fmt.Sprintf(`parsing config file (%s):`, fn)))
|
||||||
|
}
|
||||||
|
|
||||||
func TestNewJSON(t *testing.T) {
|
func TestNewJSON(t *testing.T) {
|
||||||
tmpHome := t.TempDir()
|
tmpHome := t.TempDir()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue