stop using XDG_CACHE_HOME as home directory (#299)

* stop using XDG_CACHE_HOME as home directory

XDG_CACHE_HOME is not a substitute for $HOME, see [1].

[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

* fix bats testing setup/teardown

since cmdutil.Homedir() would treat $XDG_CACHE_HOME as $HOME, deleting
$XDG_CACHE_HOME would wipe out previous kubens state. now that we're not
doing that, we need to make a real synthetic $HOME and clear it out so
that $HOME/.kube/kubens doesn't persist between runs.
This commit is contained in:
peter woodman
2021-05-28 19:09:32 -04:00
committed by GitHub
parent 34e9024835
commit ff2f9661a2
3 changed files with 7 additions and 10 deletions

View File

@@ -21,9 +21,6 @@ import (
)
func HomeDir() string {
if v := os.Getenv("XDG_CACHE_HOME"); v != "" {
return v
}
home := os.Getenv("HOME")
if home == "" {
home = os.Getenv("USERPROFILE") // windows

View File

@@ -28,12 +28,12 @@ func Test_homeDir(t *testing.T) {
want string
}{
{
name: "XDG_CACHE_HOME precedence",
name: "don't use XDG_CACHE_HOME as homedir",
envs: []env{
{"XDG_CACHE_HOME", "xdg"},
{"HOME", "home"},
},
want: "xdg",
want: "home",
},
{
name: "HOME over USERPROFILE",
@@ -46,7 +46,6 @@ func Test_homeDir(t *testing.T) {
{
name: "only USERPROFILE available",
envs: []env{
{"XDG_CACHE_HOME", ""},
{"HOME", ""},
{"USERPROFILE", "up"},
},
@@ -55,7 +54,6 @@ func Test_homeDir(t *testing.T) {
{
name: "none available",
envs: []env{
{"XDG_CACHE_HOME", ""},
{"HOME", ""},
{"USERPROFILE", ""},
},

View File

@@ -2,13 +2,15 @@
# bats setup function
setup() {
export XDG_CACHE_HOME="$(mktemp -d)"
export KUBECONFIG="${XDG_CACHE_HOME}/config"
TEMP_HOME="$(mktemp -d)"
export TEMP_HOME
export HOME=$TEMP_HOME
export KUBECONFIG="${TEMP_HOME}/config"
}
# bats teardown function
teardown() {
rm -rf "$XDG_CACHE_HOME"
rm -rf "$TEMP_HOME"
}
use_config() {