Skip to content

Commit

Permalink
os: replace os.MkdirTemp with T.TempDir
Browse files Browse the repository at this point in the history
Updates #45402

Change-Id: Ib8e62a13ddff884e4d34b3a0fdc9a10db2b68da6
Reviewed-on: https://go-review.googlesource.com/c/go/+/308109
Run-TryBot: Ian Lance Taylor <[email protected]>
TryBot-Result: Go Bot <[email protected]>
Reviewed-by: Ian Lance Taylor <[email protected]>
Reviewed-by: Tobias Klauser <[email protected]>
  • Loading branch information
perillo authored and tklauser committed Apr 9, 2021
1 parent 8518aac commit 4d7d7a4
Show file tree
Hide file tree
Showing 8 changed files with 45 additions and 175 deletions.
8 changes: 1 addition & 7 deletions src/os/error_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,7 @@ func testErrNotExist(name string) string {
}

func TestErrIsNotExist(t *testing.T) {
tmpDir, err := os.MkdirTemp("", "_Go_ErrIsNotExist")
if err != nil {
t.Fatalf("create ErrIsNotExist tempdir: %s", err)
return
}
defer os.RemoveAll(tmpDir)

tmpDir := t.TempDir()
name := filepath.Join(tmpDir, "NotExists")
if s := testErrNotExist(name); s != "" {
t.Fatal(s)
Expand Down
7 changes: 1 addition & 6 deletions src/os/fifo_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,7 @@ func TestFifoEOF(t *testing.T) {
t.Skip("skipping on OpenBSD; issue 25877")
}

dir, err := os.MkdirTemp("", "TestFifoEOF")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(dir)

dir := t.TempDir()
fifoName := filepath.Join(dir, "fifo")
if err := syscall.Mkfifo(fifoName, 0600); err != nil {
t.Fatal(err)
Expand Down
38 changes: 7 additions & 31 deletions src/os/os_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -617,11 +617,7 @@ func TestReaddirNValues(t *testing.T) {
if testing.Short() {
t.Skip("test.short; skipping")
}
dir, err := os.MkdirTemp("", "")
if err != nil {
t.Fatalf("TempDir: %v", err)
}
defer RemoveAll(dir)
dir := t.TempDir()
for i := 1; i <= 105; i++ {
f, err := Create(filepath.Join(dir, fmt.Sprintf("%d", i)))
if err != nil {
Expand Down Expand Up @@ -716,11 +712,7 @@ func TestReaddirStatFailures(t *testing.T) {
// testing it wouldn't work.
t.Skipf("skipping test on %v", runtime.GOOS)
}
dir, err := os.MkdirTemp("", "")
if err != nil {
t.Fatalf("TempDir: %v", err)
}
defer RemoveAll(dir)
dir := t.TempDir()
touch(t, filepath.Join(dir, "good1"))
touch(t, filepath.Join(dir, "x")) // will disappear or have an error
touch(t, filepath.Join(dir, "good2"))
Expand Down Expand Up @@ -1949,22 +1941,16 @@ func TestAppend(t *testing.T) {

func TestStatDirWithTrailingSlash(t *testing.T) {
// Create new temporary directory and arrange to clean it up.
path, err := os.MkdirTemp("", "_TestStatDirWithSlash_")
if err != nil {
t.Fatalf("TempDir: %s", err)
}
defer RemoveAll(path)
path := t.TempDir()

// Stat of path should succeed.
_, err = Stat(path)
if err != nil {
if _, err := Stat(path); err != nil {
t.Fatalf("stat %s failed: %s", path, err)
}

// Stat of path+"/" should succeed too.
path += "/"
_, err = Stat(path)
if err != nil {
if _, err := Stat(path); err != nil {
t.Fatalf("stat %s failed: %s", path, err)
}
}
Expand Down Expand Up @@ -2091,12 +2077,7 @@ func TestLargeWriteToConsole(t *testing.T) {
func TestStatDirModeExec(t *testing.T) {
const mode = 0111

path, err := os.MkdirTemp("", "go-build")
if err != nil {
t.Fatalf("Failed to create temp directory: %v", err)
}
defer RemoveAll(path)

path := t.TempDir()
if err := Chmod(path, 0777); err != nil {
t.Fatalf("Chmod %q 0777: %v", path, err)
}
Expand Down Expand Up @@ -2160,12 +2141,7 @@ func TestStatStdin(t *testing.T) {
func TestStatRelativeSymlink(t *testing.T) {
testenv.MustHaveSymlink(t)

tmpdir, err := os.MkdirTemp("", "TestStatRelativeSymlink")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tmpdir)

tmpdir := t.TempDir()
target := filepath.Join(tmpdir, "target")
f, err := Create(target)
if err != nil {
Expand Down
28 changes: 6 additions & 22 deletions src/os/os_windows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -626,11 +626,7 @@ func TestOpenVolumeName(t *testing.T) {
}

func TestDeleteReadOnly(t *testing.T) {
tmpdir, err := os.MkdirTemp("", "TestDeleteReadOnly")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpdir)
tmpdir := t.TempDir()
p := filepath.Join(tmpdir, "a")
// This sets FILE_ATTRIBUTE_READONLY.
f, err := os.OpenFile(p, os.O_CREATE, 0400)
Expand Down Expand Up @@ -796,11 +792,7 @@ func compareCommandLineToArgvWithSyscall(t *testing.T, cmd string) {
}

func TestCmdArgs(t *testing.T) {
tmpdir, err := os.MkdirTemp("", "TestCmdArgs")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpdir)
tmpdir := t.TempDir()

const prog = `
package main
Expand All @@ -815,8 +807,7 @@ func main() {
}
`
src := filepath.Join(tmpdir, "main.go")
err = os.WriteFile(src, []byte(prog), 0666)
if err != nil {
if err := os.WriteFile(src, []byte(prog), 0666); err != nil {
t.Fatal(err)
}

Expand Down Expand Up @@ -963,21 +954,14 @@ func TestSymlinkCreation(t *testing.T) {
}
t.Parallel()

temp, err := os.MkdirTemp("", "TestSymlinkCreation")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(temp)

temp := t.TempDir()
dummyFile := filepath.Join(temp, "file")
err = os.WriteFile(dummyFile, []byte(""), 0644)
if err != nil {
if err := os.WriteFile(dummyFile, []byte(""), 0644); err != nil {
t.Fatal(err)
}

linkFile := filepath.Join(temp, "link")
err = os.Symlink(dummyFile, linkFile)
if err != nil {
if err := os.Symlink(dummyFile, linkFile); err != nil {
t.Fatal(err)
}
}
Expand Down
17 changes: 4 additions & 13 deletions src/os/path_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package os_test

import (
"internal/testenv"
"os"
. "os"
"path/filepath"
"runtime"
Expand Down Expand Up @@ -78,27 +77,19 @@ func TestMkdirAll(t *testing.T) {
func TestMkdirAllWithSymlink(t *testing.T) {
testenv.MustHaveSymlink(t)

tmpDir, err := os.MkdirTemp("", "TestMkdirAllWithSymlink-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tmpDir)

tmpDir := t.TempDir()
dir := tmpDir + "/dir"
err = Mkdir(dir, 0755)
if err != nil {
if err := Mkdir(dir, 0755); err != nil {
t.Fatalf("Mkdir %s: %s", dir, err)
}

link := tmpDir + "/link"
err = Symlink("dir", link)
if err != nil {
if err := Symlink("dir", link); err != nil {
t.Fatalf("Symlink %s: %s", link, err)
}

path := link + "/foo"
err = MkdirAll(path, 0755)
if err != nil {
if err := MkdirAll(path, 0755); err != nil {
t.Errorf("MkdirAll %q: %s", path, err)
}
}
Expand Down
24 changes: 6 additions & 18 deletions src/os/path_windows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,31 +50,21 @@ func TestFixLongPath(t *testing.T) {
}

func TestMkdirAllLongPath(t *testing.T) {
tmpDir, err := os.MkdirTemp("", "TestMkdirAllLongPath")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpDir)
tmpDir := t.TempDir()
path := tmpDir
for i := 0; i < 100; i++ {
path += `\another-path-component`
}
err = os.MkdirAll(path, 0777)
if err != nil {
if err := os.MkdirAll(path, 0777); err != nil {
t.Fatalf("MkdirAll(%q) failed; %v", path, err)
}
err = os.RemoveAll(tmpDir)
if err != nil {
if err := os.RemoveAll(tmpDir); err != nil {
t.Fatalf("RemoveAll(%q) failed; %v", tmpDir, err)
}
}

func TestMkdirAllExtendedLength(t *testing.T) {
tmpDir, err := os.MkdirTemp("", "TestMkdirAllExtendedLength")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(tmpDir)
tmpDir := t.TempDir()

const prefix = `\\?\`
if len(tmpDir) < 4 || tmpDir[:4] != prefix {
Expand All @@ -85,14 +75,12 @@ func TestMkdirAllExtendedLength(t *testing.T) {
tmpDir = prefix + fullPath
}
path := tmpDir + `\dir\`
err = os.MkdirAll(path, 0777)
if err != nil {
if err := os.MkdirAll(path, 0777); err != nil {
t.Fatalf("MkdirAll(%q) failed: %v", path, err)
}

path = path + `.\dir2`
err = os.MkdirAll(path, 0777)
if err == nil {
if err := os.MkdirAll(path, 0777); err == nil {
t.Fatalf("MkdirAll(%q) should have failed, but did not", path)
}
}
Expand Down
53 changes: 9 additions & 44 deletions src/os/removeall_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@ import (
)

func TestRemoveAll(t *testing.T) {
tmpDir, err := os.MkdirTemp("", "TestRemoveAll-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tmpDir)

tmpDir := t.TempDir()
if err := RemoveAll(""); err != nil {
t.Errorf("RemoveAll(\"\"): %v; want nil", err)
}
Expand Down Expand Up @@ -128,12 +123,7 @@ func TestRemoveAllLarge(t *testing.T) {
t.Skip("skipping in short mode")
}

tmpDir, err := os.MkdirTemp("", "TestRemoveAll-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tmpDir)

tmpDir := t.TempDir()
path := filepath.Join(tmpDir, "_TestRemoveAllLarge_")

// Make directory with 1000 files and remove.
Expand Down Expand Up @@ -236,12 +226,7 @@ func TestRemoveAllDot(t *testing.T) {
func TestRemoveAllDotDot(t *testing.T) {
t.Parallel()

tempDir, err := os.MkdirTemp("", "TestRemoveAllDotDot-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tempDir)

tempDir := t.TempDir()
subdir := filepath.Join(tempDir, "x")
subsubdir := filepath.Join(subdir, "y")
if err := MkdirAll(subsubdir, 0777); err != nil {
Expand All @@ -261,12 +246,7 @@ func TestRemoveAllDotDot(t *testing.T) {
func TestRemoveReadOnlyDir(t *testing.T) {
t.Parallel()

tempDir, err := os.MkdirTemp("", "TestRemoveReadOnlyDir-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tempDir)

tempDir := t.TempDir()
subdir := filepath.Join(tempDir, "x")
if err := Mkdir(subdir, 0); err != nil {
t.Fatal(err)
Expand Down Expand Up @@ -298,12 +278,7 @@ func TestRemoveAllButReadOnlyAndPathError(t *testing.T) {

t.Parallel()

tempDir, err := os.MkdirTemp("", "TestRemoveAllButReadOnly-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tempDir)

tempDir := t.TempDir()
dirs := []string{
"a",
"a/x",
Expand Down Expand Up @@ -347,7 +322,7 @@ func TestRemoveAllButReadOnlyAndPathError(t *testing.T) {
defer Chmod(d, 0777)
}

err = RemoveAll(tempDir)
err := RemoveAll(tempDir)
if err == nil {
t.Fatal("RemoveAll succeeded unexpectedly")
}
Expand Down Expand Up @@ -389,12 +364,7 @@ func TestRemoveUnreadableDir(t *testing.T) {

t.Parallel()

tempDir, err := os.MkdirTemp("", "TestRemoveAllButReadOnly-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tempDir)

tempDir := t.TempDir()
target := filepath.Join(tempDir, "d0", "d1", "d2")
if err := MkdirAll(target, 0755); err != nil {
t.Fatal(err)
Expand All @@ -413,12 +383,7 @@ func TestRemoveAllWithMoreErrorThanReqSize(t *testing.T) {
t.Skip("skipping in short mode")
}

tmpDir, err := os.MkdirTemp("", "TestRemoveAll-")
if err != nil {
t.Fatal(err)
}
defer RemoveAll(tmpDir)

tmpDir := t.TempDir()
path := filepath.Join(tmpDir, "_TestRemoveAllWithMoreErrorThanReqSize_")

// Make directory with 1025 read-only files.
Expand All @@ -443,7 +408,7 @@ func TestRemoveAllWithMoreErrorThanReqSize(t *testing.T) {

// This call should not hang, even on a platform that disallows file deletion
// from read-only directories.
err = RemoveAll(path)
err := RemoveAll(path)

if Getuid() == 0 {
// On many platforms, root can remove files from read-only directories.
Expand Down
Loading

0 comments on commit 4d7d7a4

Please sign in to comment.