File 0005-test-use-t.TempDir.patch of Package go-mtree

From f2b48a0e2fbffe9c59f7b97439120e1c8861f5a3 Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <cyphar@cyphar.com>
Date: Sat, 20 Sep 2025 03:05:47 +1000
Subject: [PATCH 05/25] test: use t.TempDir

This was added in Go 1.15 and avoids polluting the host /tmp with test
directories if the test crashes or is forcefully killed.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
---
 check_test.go   | 30 +++++-------------------------
 compare_test.go | 30 +++++-------------------------
 fseval_test.go  |  6 +-----
 update_test.go  |  6 +-----
 walk_test.go    |  3 +--
 5 files changed, 13 insertions(+), 62 deletions(-)

diff --git a/check_test.go b/check_test.go
index bc19ed4886f1..e698008a1757 100644
--- a/check_test.go
+++ b/check_test.go
@@ -30,11 +30,7 @@ func TestCheck(t *testing.T) {
 // only check again for size and sha1, and ignore time, and ensure it passes
 func TestCheckKeywords(t *testing.T) {
 	content := []byte("I know half of you half as well as I ought to")
-	dir, err := os.MkdirTemp("", "test-check-keywords")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir) // clean up
+	dir := t.TempDir()
 
 	tmpfn := filepath.Join(dir, "tmpfile")
 	if err := os.WriteFile(tmpfn, content, 0666); err != nil {
@@ -119,11 +115,7 @@ func TestDefaultBrokenLink(t *testing.T) {
 
 // https://github.com/vbatts/go-mtree/issues/8
 func TestTimeComparison(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-time.")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// This is the format of time from FreeBSD
 	spec := `
@@ -164,11 +156,7 @@ func TestTimeComparison(t *testing.T) {
 }
 
 func TestTarTime(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-tar-time.")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// This is the format of time from FreeBSD
 	spec := `
@@ -218,11 +206,7 @@ func TestTarTime(t *testing.T) {
 }
 
 func TestIgnoreComments(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-comments.")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// This is the format of time from FreeBSD
 	spec := `
@@ -287,11 +271,7 @@ func TestIgnoreComments(t *testing.T) {
 }
 
 func TestCheckNeedsEncoding(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-needs-encoding")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	fh, err := os.Create(filepath.Join(dir, "file[ "))
 	if err != nil {
diff --git a/compare_test.go b/compare_test.go
index 8859dfa070d8..a9ff422a1053 100644
--- a/compare_test.go
+++ b/compare_test.go
@@ -36,11 +36,7 @@ func TestCompare(t *testing.T) {
 
 //gocyclo:ignore
 func TestCompareModified(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-compare-modified")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// Create a bunch of objects.
 	tmpfile := filepath.Join(dir, "tmpfile")
@@ -116,11 +112,7 @@ func TestCompareModified(t *testing.T) {
 
 //gocyclo:ignore
 func TestCompareMissing(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-compare-missing")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// Create a bunch of objects.
 	tmpfile := filepath.Join(dir, "tmpfile")
@@ -208,11 +200,7 @@ func TestCompareMissing(t *testing.T) {
 
 //gocyclo:ignore
 func TestCompareExtra(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-compare-extra")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// Walk the current state.
 	old, err := Walk(dir, nil, append(DefaultKeywords, "sha1"), nil)
@@ -286,11 +274,7 @@ func TestCompareExtra(t *testing.T) {
 }
 
 func TestCompareKeys(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-compare-keys")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// Create a bunch of objects.
 	tmpfile := filepath.Join(dir, "tmpfile")
@@ -342,11 +326,7 @@ func TestCompareKeys(t *testing.T) {
 
 //gocyclo:ignore
 func TestTarCompare(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-compare-tar")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir)
+	dir := t.TempDir()
 
 	// Create a bunch of objects.
 	tmpfile := filepath.Join(dir, "tmpfile")
diff --git a/fseval_test.go b/fseval_test.go
index a52ea52dc39f..c23a7ea84bf4 100644
--- a/fseval_test.go
+++ b/fseval_test.go
@@ -72,11 +72,7 @@ func (fs *MockFsEval) KeywordFunc(fn KeywordFunc) KeywordFunc {
 
 //gocyclo:ignore
 func TestCheckFsEval(t *testing.T) {
-	dir, err := os.MkdirTemp("", "test-check-fs-eval")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir) // clean up
+	dir := t.TempDir()
 
 	content := []byte("If you hide your ignorance, no one will hit you and you'll never learn.")
 	tmpfn := filepath.Join(dir, "tmpfile")
diff --git a/update_test.go b/update_test.go
index b346c44f620d..883f0d60dab1 100644
--- a/update_test.go
+++ b/update_test.go
@@ -23,11 +23,7 @@ func init() {
 //gocyclo:ignore
 func TestUpdate(t *testing.T) {
 	content := []byte("I know half of you half as well as I ought to")
-	dir, err := os.MkdirTemp("", "test-check-keywords")
-	if err != nil {
-		t.Fatal(err)
-	}
-	defer os.RemoveAll(dir) // clean up
+	dir := t.TempDir()
 
 	tmpfn := filepath.Join(dir, "tmpfile")
 	if err := os.WriteFile(tmpfn, content, 0666); err != nil {
diff --git a/walk_test.go b/walk_test.go
index 2277e4d96df0..e827b1f54a0c 100644
--- a/walk_test.go
+++ b/walk_test.go
@@ -12,11 +12,10 @@ func TestWalk(t *testing.T) {
 	}
 	numEntries := countTypes(dh)
 
-	fh, err := os.CreateTemp("", "walk.")
+	fh, err := os.CreateTemp(t.TempDir(), "walk.")
 	if err != nil {
 		t.Fatal(err)
 	}
-	defer os.Remove(fh.Name())
 	defer fh.Close()
 
 	if _, err = dh.WriteTo(fh); err != nil {
-- 
2.51.0

openSUSE Build Service is sponsored by