From 703c765ec81155aafbd1c333869c0fd6d32a17b6 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Thu, 25 Jan 2024 14:46:14 +0100 Subject: [PATCH] gitutil: check git bash env when testing Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- util/gitutil/path_windows_test.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/util/gitutil/path_windows_test.go b/util/gitutil/path_windows_test.go index ee2e452d..0ea32db3 100644 --- a/util/gitutil/path_windows_test.go +++ b/util/gitutil/path_windows_test.go @@ -1,11 +1,28 @@ package gitutil import ( + "os" "testing" "github.com/stretchr/testify/assert" ) func TestSanitizePathWindows(t *testing.T) { - assert.Equal(t, "C:\\Users\\foobar", SanitizePath("C:/Users/foobar")) + expected := "C:\\Users\\foobar" + if isGitBash() { + expected = "C:/Users/foobar" + } + assert.Equal(t, expected, SanitizePath("C:/Users/foobar")) +} + +func isGitBash() bool { + // The MSYSTEM environment variable is used in MSYS2 environments, + // including Git Bash, to select the active environment. This variable + // dictates the environment in which the shell operates, influencing + // factors like the path prefixes, default compilers, and system libraries + // used: https://www.msys2.org/docs/environments/ + if _, ok := os.LookupEnv("MSYSTEM"); ok { + return true + } + return false }