mirror of https://github.com/docker/cli.git
Merge pull request #2934 from thaJeztah/fix_homedir_warning
cli/config: prevent warning if HOME is not set
This commit is contained in:
commit
1e54c5d67c
|
@ -26,15 +26,29 @@ const (
|
||||||
var (
|
var (
|
||||||
initConfigDir sync.Once
|
initConfigDir sync.Once
|
||||||
configDir string
|
configDir string
|
||||||
|
homeDir string
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// resetHomeDir is used in testing to resets the "homeDir" package variable to
|
||||||
|
// force re-lookup of the home directory between tests.
|
||||||
|
func resetHomeDir() {
|
||||||
|
homeDir = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func getHomeDir() string {
|
||||||
|
if homeDir == "" {
|
||||||
|
homeDir = homedir.Get()
|
||||||
|
}
|
||||||
|
return homeDir
|
||||||
|
}
|
||||||
|
|
||||||
func setConfigDir() {
|
func setConfigDir() {
|
||||||
if configDir != "" {
|
if configDir != "" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
configDir = os.Getenv("DOCKER_CONFIG")
|
configDir = os.Getenv("DOCKER_CONFIG")
|
||||||
if configDir == "" {
|
if configDir == "" {
|
||||||
configDir = filepath.Join(homedir.Get(), configFileDir)
|
configDir = filepath.Join(getHomeDir(), configFileDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,11 +123,7 @@ func Load(configDir string) (*configfile.ConfigFile, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Can't find latest config file so check for the old one
|
// Can't find latest config file so check for the old one
|
||||||
home, err := os.UserHomeDir()
|
filename = filepath.Join(getHomeDir(), oldConfigfile)
|
||||||
if err != nil {
|
|
||||||
return configFile, errors.Wrap(err, oldConfigfile)
|
|
||||||
}
|
|
||||||
filename = filepath.Join(home, oldConfigfile)
|
|
||||||
if file, err := os.Open(filename); err == nil {
|
if file, err := os.Open(filename); err == nil {
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
if err := configFile.LegacyLoadFromReader(file); err != nil {
|
if err := configFile.LegacyLoadFromReader(file); err != nil {
|
||||||
|
|
|
@ -115,6 +115,7 @@ password`: "Invalid Auth config file",
|
||||||
email`: "Invalid auth configuration file",
|
email`: "Invalid auth configuration file",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resetHomeDir()
|
||||||
tmpHome, err := ioutil.TempDir("", "config-test")
|
tmpHome, err := ioutil.TempDir("", "config-test")
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
defer os.RemoveAll(tmpHome)
|
defer os.RemoveAll(tmpHome)
|
||||||
|
@ -131,6 +132,7 @@ email`: "Invalid auth configuration file",
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOldValidAuth(t *testing.T) {
|
func TestOldValidAuth(t *testing.T) {
|
||||||
|
resetHomeDir()
|
||||||
tmpHome, err := ioutil.TempDir("", "config-test")
|
tmpHome, err := ioutil.TempDir("", "config-test")
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
defer os.RemoveAll(tmpHome)
|
defer os.RemoveAll(tmpHome)
|
||||||
|
@ -165,6 +167,7 @@ func TestOldValidAuth(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOldJSONInvalid(t *testing.T) {
|
func TestOldJSONInvalid(t *testing.T) {
|
||||||
|
resetHomeDir()
|
||||||
tmpHome, err := ioutil.TempDir("", "config-test")
|
tmpHome, err := ioutil.TempDir("", "config-test")
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
defer os.RemoveAll(tmpHome)
|
defer os.RemoveAll(tmpHome)
|
||||||
|
@ -184,6 +187,7 @@ func TestOldJSONInvalid(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOldJSON(t *testing.T) {
|
func TestOldJSON(t *testing.T) {
|
||||||
|
resetHomeDir()
|
||||||
tmpHome, err := ioutil.TempDir("", "config-test")
|
tmpHome, err := ioutil.TempDir("", "config-test")
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
defer os.RemoveAll(tmpHome)
|
defer os.RemoveAll(tmpHome)
|
||||||
|
|
Loading…
Reference in New Issue