From d103f179b917b06bba38331627674170ed24c2a5 Mon Sep 17 00:00:00 2001 From: levisyin Date: Fri, 21 Feb 2025 20:36:18 +0800 Subject: [PATCH] build: replace `tenv` linter with `usetesting` (#31172) --- .golangci.yml | 2 +- README.md | 2 +- cmd/clef/run_test.go | 8 +------- cmd/utils/history_test.go | 6 +----- core/txpool/blobpool/blobpool_test.go | 19 +++++++------------ crypto/crypto_test.go | 4 ++-- crypto/signify/signify_test.go | 16 ++++------------ internal/era/era_test.go | 3 ++- node/config_test.go | 3 +-- 9 files changed, 20 insertions(+), 43 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index b63251055b80..a702da524bc3 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -25,7 +25,7 @@ linters: - gocheckcompilerdirectives - reassign - mirror - - tenv + - usetesting ### linters we tried and will not be using: ### # - structcheck # lots of false positives diff --git a/README.md b/README.md index fb82459d3472..9ccfe933aa6c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ archives are published at https://geth.ethereum.org/downloads/. For prerequisites and detailed build instructions please read the [Installation Instructions](https://geth.ethereum.org/docs/getting-started/installing-geth). -Building `geth` requires both a Go (version 1.22 or later) and a C compiler. You can install +Building `geth` requires both a Go (version 1.23 or later) and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run ```shell diff --git a/cmd/clef/run_test.go b/cmd/clef/run_test.go index 5fa6e02e1471..d404457ba2a4 100644 --- a/cmd/clef/run_test.go +++ b/cmd/clef/run_test.go @@ -57,13 +57,7 @@ func TestMain(m *testing.M) { // This method creates a temporary keystore folder which will be removed after // the test exits. func runClef(t *testing.T, args ...string) *testproc { - ddir, err := os.MkdirTemp("", "cleftest-*") - if err != nil { - return nil - } - t.Cleanup(func() { - os.RemoveAll(ddir) - }) + ddir := t.TempDir() return runWithKeystore(t, ddir, args...) } diff --git a/cmd/utils/history_test.go b/cmd/utils/history_test.go index 07cf71234e99..8654c454f953 100644 --- a/cmd/utils/history_test.go +++ b/cmd/utils/history_test.go @@ -87,11 +87,7 @@ func TestHistoryImportAndExport(t *testing.T) { } // Make temp directory for era files. - dir, err := os.MkdirTemp("", "history-export-test") - if err != nil { - t.Fatalf("error creating temp test directory: %v", err) - } - defer os.RemoveAll(dir) + dir := t.TempDir() // Export history to temp directory. if err := ExportHistory(chain, dir, 0, count, step); err != nil { diff --git a/core/txpool/blobpool/blobpool_test.go b/core/txpool/blobpool/blobpool_test.go index 8589e5c01de8..d9137cb67942 100644 --- a/core/txpool/blobpool/blobpool_test.go +++ b/core/txpool/blobpool/blobpool_test.go @@ -21,6 +21,7 @@ import ( "crypto/ecdsa" "crypto/sha256" "errors" + "fmt" "math" "math/big" "os" @@ -452,8 +453,7 @@ func TestOpenDrops(t *testing.T) { //log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelTrace, true))) // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) + storage := t.TempDir() os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(testMaxBlobsPerBlock), nil) @@ -775,8 +775,7 @@ func TestOpenIndex(t *testing.T) { //log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelTrace, true))) // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) + storage := t.TempDir() os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(testMaxBlobsPerBlock), nil) @@ -864,8 +863,7 @@ func TestOpenHeap(t *testing.T) { //log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelTrace, true))) // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) + storage := t.TempDir() os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(testMaxBlobsPerBlock), nil) @@ -951,8 +949,7 @@ func TestOpenCap(t *testing.T) { //log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelTrace, true))) // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) + storage := t.TempDir() os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(testMaxBlobsPerBlock), nil) @@ -1041,8 +1038,7 @@ func TestChangingSlotterSize(t *testing.T) { //log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelTrace, true))) // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) + storage := t.TempDir() os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(6), nil) @@ -1508,8 +1504,7 @@ func TestAdd(t *testing.T) { } for i, tt := range tests { // Create a temporary folder for the persistent backend - storage, _ := os.MkdirTemp("", "blobpool-") - defer os.RemoveAll(storage) // late defer, still ok + storage := filepath.Join(t.TempDir(), fmt.Sprintf("test-%d", i)) os.MkdirAll(filepath.Join(storage, pendingTransactionStore), 0700) store, _ := billy.Open(billy.Options{Path: filepath.Join(storage, pendingTransactionStore)}, newSlotter(testMaxBlobsPerBlock), nil) diff --git a/crypto/crypto_test.go b/crypto/crypto_test.go index da123cf980a8..5b0c9c053300 100644 --- a/crypto/crypto_test.go +++ b/crypto/crypto_test.go @@ -181,7 +181,7 @@ func TestLoadECDSA(t *testing.T) { } for _, test := range tests { - f, err := os.CreateTemp("", "loadecdsa_test.*.txt") + f, err := os.CreateTemp(t.TempDir(), "loadecdsa_test.*.txt") if err != nil { t.Fatal(err) } @@ -202,7 +202,7 @@ func TestLoadECDSA(t *testing.T) { } func TestSaveECDSA(t *testing.T) { - f, err := os.CreateTemp("", "saveecdsa_test.*.txt") + f, err := os.CreateTemp(t.TempDir(), "saveecdsa_test.*.txt") if err != nil { t.Fatal(err) } diff --git a/crypto/signify/signify_test.go b/crypto/signify/signify_test.go index 9bac2c825f2c..ce41c1bd040b 100644 --- a/crypto/signify/signify_test.go +++ b/crypto/signify/signify_test.go @@ -33,11 +33,10 @@ var ( ) func TestSignify(t *testing.T) { - tmpFile, err := os.CreateTemp("", "") + tmpFile, err := os.CreateTemp(t.TempDir(), "") if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name()) defer tmpFile.Close() data := make([]byte, 1024) @@ -52,7 +51,6 @@ func TestSignify(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name() + ".sig") // Verify the signature using a golang library sig, err := minisign.NewSignatureFromFile(tmpFile.Name() + ".sig") @@ -75,11 +73,10 @@ func TestSignify(t *testing.T) { } func TestSignifyTrustedCommentTooManyLines(t *testing.T) { - tmpFile, err := os.CreateTemp("", "") + tmpFile, err := os.CreateTemp(t.TempDir(), "") if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name()) defer tmpFile.Close() data := make([]byte, 1024) @@ -94,15 +91,13 @@ func TestSignifyTrustedCommentTooManyLines(t *testing.T) { if err == nil || err.Error() == "" { t.Fatalf("should have errored on a multi-line trusted comment, got %v", err) } - defer os.Remove(tmpFile.Name() + ".sig") } func TestSignifyTrustedCommentTooManyLinesLF(t *testing.T) { - tmpFile, err := os.CreateTemp("", "") + tmpFile, err := os.CreateTemp(t.TempDir(), "") if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name()) defer tmpFile.Close() data := make([]byte, 1024) @@ -117,15 +112,13 @@ func TestSignifyTrustedCommentTooManyLinesLF(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name() + ".sig") } func TestSignifyTrustedCommentEmpty(t *testing.T) { - tmpFile, err := os.CreateTemp("", "") + tmpFile, err := os.CreateTemp(t.TempDir(), "") if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name()) defer tmpFile.Close() data := make([]byte, 1024) @@ -140,5 +133,4 @@ func TestSignifyTrustedCommentEmpty(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Remove(tmpFile.Name() + ".sig") } diff --git a/internal/era/era_test.go b/internal/era/era_test.go index e0bebfa4491e..72c3b385dd3e 100644 --- a/internal/era/era_test.go +++ b/internal/era/era_test.go @@ -37,7 +37,7 @@ func TestEra1Builder(t *testing.T) { t.Parallel() // Get temp directory. - f, err := os.CreateTemp("", "era1-test") + f, err := os.CreateTemp(t.TempDir(), "era1-test") if err != nil { t.Fatalf("error creating temp file: %v", err) } @@ -78,6 +78,7 @@ func TestEra1Builder(t *testing.T) { if err != nil { t.Fatalf("failed to open era: %v", err) } + defer e.Close() it, err := NewRawIterator(e) if err != nil { t.Fatalf("failed to make iterator: %s", err) diff --git a/node/config_test.go b/node/config_test.go index e8af8ddcd87b..067796d665ab 100644 --- a/node/config_test.go +++ b/node/config_test.go @@ -53,13 +53,12 @@ func TestDatadirCreation(t *testing.T) { t.Fatalf("freshly created datadir not accessible: %v", err) } // Verify that an impossible datadir fails creation - file, err := os.CreateTemp("", "") + file, err := os.CreateTemp(t.TempDir(), "") if err != nil { t.Fatalf("failed to create temporary file: %v", err) } defer func() { file.Close() - os.Remove(file.Name()) }() dir = filepath.Join(file.Name(), "invalid/path")