From dfb346c374322d40204d86848988a893a4fbea08 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Fri, 23 Oct 2026 01:02:59 -0600 Subject: [PATCH] refactor(e2e): scope vscode settings HOME with SetEnvForSpec BeforeEach saved os.Getenv("HOME") and AfterEach restored it with os.Setenv, so an initially unset HOME was leaked back as an empty value. Use framework.SetEnvForSpec, which restores unset and set-empty states exactly, and register temp dir removal with ginkgo.DeferCleanup right after MkdirTemp. --- e2e/tests/ide/vscode_settings.go | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/e2e/tests/ide/vscode_settings.go b/e2e/tests/ide/vscode_settings.go index fb9e581837..67c277d5de 100644 --- a/e2e/tests/ide/vscode_settings.go +++ b/e2e/tests/ide/vscode_settings.go @@ -16,30 +16,21 @@ const settingEditorFontSize = "editor.fontSize" var _ = ginkgo.Describe("VS Code Settings JSONC Handling", ginkgo.Label("ide"), func() { var ( tmpHome string - origHome string settingsDir string ) ginkgo.BeforeEach(func() { var err error - origHome = os.Getenv("HOME") - tmpHome, err = os.MkdirTemp("", "vscode-settings-test-*") framework.ExpectNoError(err) + ginkgo.DeferCleanup(func() { _ = os.RemoveAll(tmpHome) }) // On Linux, VS Code settings live at ~/.config/Code/User/settings.json settingsDir = filepath.Join(tmpHome, ".config", "Code", "User") err = os.MkdirAll(settingsDir, 0o750) framework.ExpectNoError(err) - err = os.Setenv("HOME", tmpHome) - framework.ExpectNoError(err) - }) - - ginkgo.AfterEach(func() { - err := os.Setenv("HOME", origHome) - framework.ExpectNoError(err) - _ = os.RemoveAll(tmpHome) + framework.SetEnvForSpec("HOME", tmpHome) }) settingsPath := func() string {