From d9a8c453a0086c0f3d061e86c7be83d0595f9ba9 Mon Sep 17 00:00:00 2001
From: Matheus Alcantara <matheusssilv97@gmail.com>
Date: Tue, 23 Nov 2021 22:09:28 -0300
Subject: [PATCH] cmd: use t.TempDir instead of ioutil.TempDir on tests (#9852)

---
 cmd/prometheus/main_test.go      |  7 +------
 cmd/prometheus/query_log_test.go |  6 +-----
 cmd/promtool/backfill_test.go    | 10 ++--------
 cmd/promtool/rules_test.go       | 13 ++-----------
 4 files changed, 6 insertions(+), 30 deletions(-)

diff --git a/cmd/prometheus/main_test.go b/cmd/prometheus/main_test.go
index c3915c7ca4..1f161d26be 100644
--- a/cmd/prometheus/main_test.go
+++ b/cmd/prometheus/main_test.go
@@ -288,12 +288,7 @@ func TestMaxBlockChunkSegmentSizeBounds(t *testing.T) {
 }
 
 func TestTimeMetrics(t *testing.T) {
-	tmpDir, err := ioutil.TempDir("", "time_metrics_e2e")
-	require.NoError(t, err)
-
-	defer func() {
-		require.NoError(t, os.RemoveAll(tmpDir))
-	}()
+	tmpDir := t.TempDir()
 
 	reg := prometheus.NewRegistry()
 	db, err := openDBWithMetrics(tmpDir, log.NewNopLogger(), reg, nil, nil)
diff --git a/cmd/prometheus/query_log_test.go b/cmd/prometheus/query_log_test.go
index 1b2bd4f974..844bde1c96 100644
--- a/cmd/prometheus/query_log_test.go
+++ b/cmd/prometheus/query_log_test.go
@@ -248,11 +248,7 @@ func (p *queryLogTest) run(t *testing.T) {
 		p.setQueryLog(t, "")
 	}
 
-	dir, err := ioutil.TempDir("", "query_log_test")
-	require.NoError(t, err)
-	defer func() {
-		require.NoError(t, os.RemoveAll(dir))
-	}()
+	dir := t.TempDir()
 
 	params := append([]string{
 		"-test.main",
diff --git a/cmd/promtool/backfill_test.go b/cmd/promtool/backfill_test.go
index c9493f134c..c4e6c6b7c0 100644
--- a/cmd/promtool/backfill_test.go
+++ b/cmd/promtool/backfill_test.go
@@ -15,9 +15,7 @@ package main
 
 import (
 	"context"
-	"io/ioutil"
 	"math"
-	"os"
 	"sort"
 	"testing"
 	"time"
@@ -687,13 +685,9 @@ after_eof 1 2
 		t.Run(test.Description, func(t *testing.T) {
 			t.Logf("Test:%s", test.Description)
 
-			outputDir, err := ioutil.TempDir("", "myDir")
-			require.NoError(t, err)
-			defer func() {
-				require.NoError(t, os.RemoveAll(outputDir))
-			}()
+			outputDir := t.TempDir()
 
-			err = backfill(test.MaxSamplesInAppender, []byte(test.ToParse), outputDir, false, false, test.MaxBlockDuration)
+			err := backfill(test.MaxSamplesInAppender, []byte(test.ToParse), outputDir, false, false, test.MaxBlockDuration)
 
 			if !test.IsOk {
 				require.Error(t, err, test.Description)
diff --git a/cmd/promtool/rules_test.go b/cmd/promtool/rules_test.go
index 10d59d5cc5..decda0fe38 100644
--- a/cmd/promtool/rules_test.go
+++ b/cmd/promtool/rules_test.go
@@ -17,7 +17,6 @@ import (
 	"context"
 	"io/ioutil"
 	"math"
-	"os"
 	"path/filepath"
 	"testing"
 	"time"
@@ -72,11 +71,7 @@ func TestBackfillRuleIntegration(t *testing.T) {
 	}
 	for _, tt := range testCases {
 		t.Run(tt.name, func(t *testing.T) {
-			tmpDir, err := ioutil.TempDir("", "backfilldata")
-			require.NoError(t, err)
-			defer func() {
-				require.NoError(t, os.RemoveAll(tmpDir))
-			}()
+			tmpDir := t.TempDir()
 			ctx := context.Background()
 
 			// Execute the test more than once to simulate running the rule importer twice with the same data.
@@ -219,11 +214,7 @@ func createMultiRuleTestFiles(path string) error {
 // TestBackfillLabels confirms that the labels in the rule file override the labels from the metrics
 // received from Prometheus Query API, including the __name__ label.
 func TestBackfillLabels(t *testing.T) {
-	tmpDir, err := ioutil.TempDir("", "backfilldata")
-	require.NoError(t, err)
-	defer func() {
-		require.NoError(t, os.RemoveAll(tmpDir))
-	}()
+	tmpDir := t.TempDir()
 	ctx := context.Background()
 
 	start := time.Date(2009, time.November, 10, 6, 34, 0, 0, time.UTC)