55 "fmt"
66 "os"
77 "path/filepath"
8+ "runtime"
89 "strings"
910 "testing"
1011
@@ -19,16 +20,7 @@ func TestNewSettingsXmlManager(t *testing.T) {
1920 tempDir := t .TempDir ()
2021
2122 // Set up a test home directory
22- originalHome := os .Getenv ("HOME" )
23- defer func () {
24- err := os .Setenv ("HOME" , originalHome )
25- if err != nil {
26- t .Logf ("Failed to set HOME environment variable: %v" , err )
27- }
28- }()
29-
30- err := os .Setenv ("HOME" , tempDir )
31- require .NoError (t , err )
23+ setHomeDir (t , tempDir )
3224
3325 // Test with non-existing settings file
3426 manager , err := NewSettingsXmlManager ()
@@ -303,15 +295,7 @@ func TestConfigureArtifactoryMirror_NoCredentials(t *testing.T) {
303295 tempDir := t .TempDir ()
304296
305297 // Set up a test home directory
306- originalHome := os .Getenv ("HOME" )
307- defer func () {
308- err := os .Setenv ("HOME" , originalHome )
309- if err != nil {
310- t .Logf ("Failed to set HOME environment variable: %v" , err )
311- }
312- }()
313- err := os .Setenv ("HOME" , tempDir )
314- require .NoError (t , err )
298+ setHomeDir (t , tempDir )
315299
316300 manager , err := NewSettingsXmlManager ()
317301 assert .NoError (t , err , "Failed to create manager" )
@@ -677,3 +661,23 @@ func TestConfigureArtifactoryRepository(t *testing.T) {
677661 }
678662 }
679663}
664+
665+ func setHomeDir (t * testing.T , tempDir string ) {
666+ originalHome , err := os .UserHomeDir ()
667+ require .NoError (t , err )
668+
669+ homeEnv := "HOME"
670+ if runtime .GOOS == "windows" {
671+ homeEnv = "USERPROFILE"
672+ }
673+
674+ err = os .Setenv (homeEnv , tempDir )
675+ require .NoError (t , err )
676+
677+ t .Cleanup (func () {
678+ err := os .Setenv (homeEnv , originalHome )
679+ if err != nil {
680+ t .Logf ("Failed to set %s environment variable: %v" , homeEnv , err )
681+ }
682+ })
683+ }
0 commit comments