From: Kir Kolyshkin Date: Wed, 4 Sep 2024 21:51:44 +0000 (-0700) Subject: cmd/go/internal: use t.TempDir in tests X-Git-Tag: go1.24rc1~992 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=89958ab4aef14982b344c3d4aab8a93a9ad60f12;p=gostls13.git cmd/go/internal: use t.TempDir in tests Change-Id: I8b4c19ed1085d2ffb07e2c8db33a10b6d70988eb Reviewed-on: https://go-review.googlesource.com/c/go/+/611015 Reviewed-by: Michael Matloob Reviewed-by: Ian Lance Taylor Auto-Submit: Ian Lance Taylor LUCI-TryBot-Result: Go LUCI --- diff --git a/src/cmd/go/internal/cache/cache_test.go b/src/cmd/go/internal/cache/cache_test.go index a12f1d2ee7..4d8112ab3b 100644 --- a/src/cmd/go/internal/cache/cache_test.go +++ b/src/cmd/go/internal/cache/cache_test.go @@ -20,12 +20,8 @@ func init() { } func TestBasic(t *testing.T) { - dir, err := os.MkdirTemp("", "cachetest-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - _, err = Open(filepath.Join(dir, "notexist")) + dir := t.TempDir() + _, err := Open(filepath.Join(dir, "notexist")) if err == nil { t.Fatal(`Open("tmp/notexist") succeeded, want failure`) } @@ -65,13 +61,7 @@ func TestBasic(t *testing.T) { } func TestGrowth(t *testing.T) { - dir, err := os.MkdirTemp("", "cachetest-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - - c, err := Open(dir) + c, err := Open(t.TempDir()) if err != nil { t.Fatalf("Open: %v", err) } @@ -118,13 +108,7 @@ func TestVerifyPanic(t *testing.T) { t.Fatal("initEnv did not set verify") } - dir, err := os.MkdirTemp("", "cachetest-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - - c, err := Open(dir) + c, err := Open(t.TempDir()) if err != nil { t.Fatalf("Open: %v", err) } @@ -151,12 +135,7 @@ func dummyID(x int) [HashSize]byte { } func TestCacheTrim(t *testing.T) { - dir, err := os.MkdirTemp("", "cachetest-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - + dir := t.TempDir() c, err := Open(dir) if err != nil { t.Fatalf("Open: %v", err) diff --git a/src/cmd/go/internal/lockedfile/lockedfile_test.go b/src/cmd/go/internal/lockedfile/lockedfile_test.go index a9fa40b8df..8cea197abc 100644 --- a/src/cmd/go/internal/lockedfile/lockedfile_test.go +++ b/src/cmd/go/internal/lockedfile/lockedfile_test.go @@ -19,16 +19,6 @@ import ( "cmd/go/internal/lockedfile" ) -func mustTempDir(t *testing.T) (dir string, remove func()) { - t.Helper() - - dir, err := os.MkdirTemp("", filepath.Base(t.Name())) - if err != nil { - t.Fatal(err) - } - return dir, func() { os.RemoveAll(dir) } -} - const ( quiescent = 10 * time.Millisecond probablyStillBlocked = 10 * time.Second @@ -76,11 +66,7 @@ func mustBlock(t *testing.T, desc string, f func()) (wait func(*testing.T)) { func TestMutexExcludes(t *testing.T) { t.Parallel() - dir, remove := mustTempDir(t) - defer remove() - - path := filepath.Join(dir, "lock") - + path := filepath.Join(t.TempDir(), "lock") mu := lockedfile.MutexAt(path) t.Logf("mu := MutexAt(_)") @@ -112,11 +98,7 @@ func TestMutexExcludes(t *testing.T) { func TestReadWaitsForLock(t *testing.T) { t.Parallel() - dir, remove := mustTempDir(t) - defer remove() - - path := filepath.Join(dir, "timestamp.txt") - + path := filepath.Join(t.TempDir(), "timestamp.txt") f, err := lockedfile.Create(path) if err != nil { t.Fatalf("Create: %v", err) @@ -163,10 +145,7 @@ func TestReadWaitsForLock(t *testing.T) { func TestCanLockExistingFile(t *testing.T) { t.Parallel() - dir, remove := mustTempDir(t) - defer remove() - path := filepath.Join(dir, "existing.txt") - + path := filepath.Join(t.TempDir(), "existing.txt") if err := os.WriteFile(path, []byte("ok"), 0777); err != nil { t.Fatalf("os.WriteFile: %v", err) } @@ -229,8 +208,7 @@ func TestSpuriousEDEADLK(t *testing.T) { return } - dir, remove := mustTempDir(t) - defer remove() + dir := t.TempDir() // P.1 locks file A. a, err := lockedfile.Edit(filepath.Join(dir, "A")) diff --git a/src/cmd/go/internal/lockedfile/transform_test.go b/src/cmd/go/internal/lockedfile/transform_test.go index f8b2802404..b174b311c3 100644 --- a/src/cmd/go/internal/lockedfile/transform_test.go +++ b/src/cmd/go/internal/lockedfile/transform_test.go @@ -36,9 +36,7 @@ func roundDownToPowerOf2(x int) int { } func TestTransform(t *testing.T) { - dir, remove := mustTempDir(t) - defer remove() - path := filepath.Join(dir, "blob.bin") + path := filepath.Join(t.TempDir(), "blob.bin") const maxChunkWords = 8 << 10 buf := make([]byte, 2*maxChunkWords*8) diff --git a/src/cmd/go/internal/modfetch/cache_test.go b/src/cmd/go/internal/modfetch/cache_test.go index 6aada66716..578615ae33 100644 --- a/src/cmd/go/internal/modfetch/cache_test.go +++ b/src/cmd/go/internal/modfetch/cache_test.go @@ -6,7 +6,6 @@ package modfetch import ( "context" - "os" "path/filepath" "testing" ) @@ -14,13 +13,8 @@ import ( func TestWriteDiskCache(t *testing.T) { ctx := context.Background() - tmpdir, err := os.MkdirTemp("", "go-writeCache-test-") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(tmpdir) - - err = writeDiskCache(ctx, filepath.Join(tmpdir, "file"), []byte("data")) + tmpdir := t.TempDir() + err := writeDiskCache(ctx, filepath.Join(tmpdir, "file"), []byte("data")) if err != nil { t.Fatal(err) } diff --git a/src/cmd/go/internal/work/build_test.go b/src/cmd/go/internal/work/build_test.go index f3059f219c..e8879c13e5 100644 --- a/src/cmd/go/internal/work/build_test.go +++ b/src/cmd/go/internal/work/build_test.go @@ -230,17 +230,13 @@ func TestRespectSetgidDir(t *testing.T) { return cmdBuf.WriteString(fmt.Sprint(a...)) }) - setgiddir, err := os.MkdirTemp("", "SetGroupID") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(setgiddir) + setgiddir := t.TempDir() // BSD mkdir(2) inherits the parent directory group, and other platforms // can inherit the parent directory group via setgid. The test setup (chmod // setgid) will fail if the process does not have the group permission to // the new temporary directory. - err = os.Chown(setgiddir, os.Getuid(), os.Getgid()) + err := os.Chown(setgiddir, os.Getuid(), os.Getgid()) if err != nil { if testenv.SyscallIsNotSupported(err) { t.Skip("skipping: chown is not supported on " + runtime.GOOS)