From ff2f9661a2d290505eaf55757278018a877233fe Mon Sep 17 00:00:00 2001 From: peter woodman Date: Fri, 28 May 2021 19:09:32 -0400 Subject: [PATCH] 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. --- internal/cmdutil/util.go | 3 --- internal/cmdutil/util_test.go | 6 ++---- test/common.bash | 8 +++++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/internal/cmdutil/util.go b/internal/cmdutil/util.go index f4888820..cc9539fb 100644 --- a/internal/cmdutil/util.go +++ b/internal/cmdutil/util.go @@ -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 diff --git a/internal/cmdutil/util_test.go b/internal/cmdutil/util_test.go index 33055e89..bf2373c5 100644 --- a/internal/cmdutil/util_test.go +++ b/internal/cmdutil/util_test.go @@ -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", ""}, }, diff --git a/test/common.bash b/test/common.bash index a028f2ca..bd617102 100644 --- a/test/common.bash +++ b/test/common.bash @@ -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() {