aboutsummaryrefslogtreecommitdiff
path: root/src/path/filepath/path_test.go
diff options
context:
space:
mode:
authorqmuntal <quimmuntal@gmail.com>2024-02-23 13:38:27 +0100
committerQuim Muntal <quimmuntal@gmail.com>2024-02-26 07:59:11 +0000
commit7db8b9e518311c1ee707a3f2fe6343e7c595c936 (patch)
tree4bcbf16f01f05c4b765e85be5e5d49b15ee384e4 /src/path/filepath/path_test.go
parent08d9397170e5870b72a95233e8e4ec43d2d70e30 (diff)
downloadgo-7db8b9e518311c1ee707a3f2fe6343e7c595c936.tar.xz
path/filepath: support multiple TestAbs runs on Windows
TestAbs modifies the absTests global variable on Windows, which makes the test to fail if it is run more than once, i.e. executing "go test -run ^TestAbs$ -count 2 path/filepath". This CL fixes the issue by clipping the absTests slices before appending more elements to it. Change-Id: I8f1144b2f10b8fa1b847e6639c0bda7baafc2dac Reviewed-on: https://go-review.googlesource.com/c/go/+/566396 Reviewed-by: Bryan Mills <bcmills@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com>
Diffstat (limited to 'src/path/filepath/path_test.go')
-rw-r--r--src/path/filepath/path_test.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/path/filepath/path_test.go b/src/path/filepath/path_test.go
index ed3990859b..c96a758c69 100644
--- a/src/path/filepath/path_test.go
+++ b/src/path/filepath/path_test.go
@@ -1403,6 +1403,9 @@ func TestAbs(t *testing.T) {
}
}
+ // Make sure the global absTests slice is not
+ // modified by multiple invocations of TestAbs.
+ tests := absTests
if runtime.GOOS == "windows" {
vol := filepath.VolumeName(root)
var extra []string
@@ -1413,7 +1416,7 @@ func TestAbs(t *testing.T) {
path = vol + path
extra = append(extra, path)
}
- absTests = append(absTests, extra...)
+ tests = append(slices.Clip(tests), extra...)
}
err = os.Chdir(absTestDirs[0])
@@ -1421,7 +1424,7 @@ func TestAbs(t *testing.T) {
t.Fatal("chdir failed: ", err)
}
- for _, path := range absTests {
+ for _, path := range tests {
path = strings.ReplaceAll(path, "$", root)
info, err := os.Stat(path)
if err != nil {