diff --git a/account/accounts_test.go b/account/accounts_test.go index fee11675a..f7d60282d 100644 --- a/account/accounts_test.go +++ b/account/accounts_test.go @@ -23,13 +23,8 @@ const newTestPassword = "new-test-password" func TestVerifyAccountPassword(t *testing.T) { accManager := NewGethManager() - keyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts") - require.NoError(t, err) - defer os.RemoveAll(keyStoreDir) //nolint: errcheck - - emptyKeyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts_empty") - require.NoError(t, err) - defer os.RemoveAll(emptyKeyStoreDir) //nolint: errcheck + keyStoreDir := t.TempDir() + emptyKeyStoreDir := t.TempDir() // import account keys utils.Init() @@ -102,13 +97,11 @@ func TestVerifyAccountPassword(t *testing.T) { // TestVerifyAccountPasswordWithAccountBeforeEIP55 verifies if VerifyAccountPassword // can handle accounts before introduction of EIP55. func TestVerifyAccountPasswordWithAccountBeforeEIP55(t *testing.T) { - keyStoreDir, err := os.MkdirTemp("", "status-accounts-test") - require.NoError(t, err) - defer os.RemoveAll(keyStoreDir) //nolint: errcheck + keyStoreDir := t.TempDir() // Import keys and make sure one was created before EIP55 introduction. utils.Init() - err = utils.ImportTestAccount(keyStoreDir, "test-account3-before-eip55.pk") + err := utils.ImportTestAccount(keyStoreDir, "test-account3-before-eip55.pk") require.NoError(t, err) accManager := NewGethManager() @@ -143,8 +136,7 @@ type testAccount struct { func (s *ManagerTestSuite) SetupTest() { s.accManager = NewGethManager() - keyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts") - s.Require().NoError(err) + keyStoreDir := s.T().TempDir() s.Require().NoError(s.accManager.InitKeystore(keyStoreDir)) s.keydir = keyStoreDir @@ -171,10 +163,6 @@ func (s *ManagerTestSuite) SetupTest() { } } -func (s *ManagerTestSuite) TearDownTest() { - s.Require().NoError(os.RemoveAll(s.keydir)) -} - func (s *ManagerTestSuite) TestRecoverAccount() { accountInfo, err := s.accManager.RecoverAccount(s.password, s.mnemonic) s.NoError(err) diff --git a/api/backend_test.go b/api/backend_test.go index 9c6050d2b..69c4ab10e 100644 --- a/api/backend_test.go +++ b/api/backend_test.go @@ -625,9 +625,7 @@ func TestLoginWithKey(t *testing.T) { main := multiaccounts.Account{ KeyUID: keyUID, } - tmpdir, err := os.MkdirTemp("", "login-with-key-test-") - require.NoError(t, err) - defer os.Remove(tmpdir) + tmpdir := t.TempDir() conf, err := params.NewNodeConfig(tmpdir, 1777) require.NoError(t, err) keyhex := hex.EncodeToString(gethcrypto.FromECDSA(chatKey)) @@ -668,9 +666,7 @@ func TestVerifyDatabasePassword(t *testing.T) { main := multiaccounts.Account{ KeyUID: keyUID, } - tmpdir, err := os.MkdirTemp("", "verify-database-password-") - require.NoError(t, err) - defer os.Remove(tmpdir) + tmpdir := t.TempDir() conf, err := params.NewNodeConfig(tmpdir, 1777) require.NoError(t, err) keyhex := hex.EncodeToString(gethcrypto.FromECDSA(chatKey)) @@ -691,15 +687,13 @@ func TestVerifyDatabasePassword(t *testing.T) { func TestDeleteMultiaccount(t *testing.T) { backend := NewGethStatusBackend() - rootDataDir, err := os.MkdirTemp("", "test-keystore-dir") - require.NoError(t, err) - defer os.Remove(rootDataDir) + rootDataDir := t.TempDir() keyStoreDir := filepath.Join(rootDataDir, "keystore") backend.rootDataDir = rootDataDir - err = backend.AccountManager().InitKeystore(keyStoreDir) + err := backend.AccountManager().InitKeystore(keyStoreDir) require.NoError(t, err) backend.AccountManager() @@ -794,9 +788,7 @@ func TestConvertAccount(t *testing.T) { return found } - rootDataDir, err := os.MkdirTemp("", "test-keystore-dir") - require.NoError(t, err) - defer os.Remove(rootDataDir) + rootDataDir := t.TempDir() keyStoreDir := filepath.Join(rootDataDir, "keystore") @@ -1060,9 +1052,7 @@ func TestLoginAndMigrationsStillWorkWithExistingUsers(t *testing.T) { srcFolder := "../static/test-0.97.3-account/" - tmpdir, err := os.MkdirTemp("", "login-and-migrations-with-existing-users") - require.NoError(t, err) - defer os.Remove(tmpdir) + tmpdir := t.TempDir() copyDir(srcFolder, tmpdir, t) diff --git a/api/test_helpers.go b/api/test_helpers.go index 5832c2bc8..30bafcf6c 100644 --- a/api/test_helpers.go +++ b/api/test_helpers.go @@ -2,7 +2,6 @@ package api import ( "encoding/json" - "os" "path/filepath" "testing" @@ -15,7 +14,7 @@ import ( ) func setupWalletTest(t *testing.T, password string) (backend *GethStatusBackend, defersFunc func(), err error) { - tmpdir, err := os.MkdirTemp("", "verified-account-test-") + tmpdir := t.TempDir() defers := make([]func(), 0) defersFunc = func() { @@ -27,10 +26,6 @@ func setupWalletTest(t *testing.T, password string) (backend *GethStatusBackend, return } - defers = append(defers, func() { - os.Remove(tmpdir) - }) - //defer os.Remove(tmpdir) backend = NewGethStatusBackend() backend.UpdateRootDataDir(tmpdir) diff --git a/mailserver/mailserver_db_leveldb_test.go b/mailserver/mailserver_db_leveldb_test.go index e341e6d89..83ff9329c 100644 --- a/mailserver/mailserver_db_leveldb_test.go +++ b/mailserver/mailserver_db_leveldb_test.go @@ -1,7 +1,6 @@ package mailserver import ( - "os" "testing" "time" @@ -15,15 +14,7 @@ import ( func TestLevelDB_BuildIteratorWithTopic(t *testing.T) { topic := []byte{0x01, 0x02, 0x03, 0x04} - dir, err := os.MkdirTemp("/tmp", "status-go-test-level-db") - require.NoError(t, err) - - db, err := NewLevelDB(dir) - - defer func() { - _ = os.Remove(dir) - }() - + db, err := NewLevelDB(t.TempDir()) require.NoError(t, err) envelope, err := newTestEnvelope(topic) diff --git a/mailserver/mailserver_test.go b/mailserver/mailserver_test.go index ce7cc1e8b..6e707e797 100644 --- a/mailserver/mailserver_test.go +++ b/mailserver/mailserver_test.go @@ -21,7 +21,6 @@ import ( "encoding/binary" "errors" "fmt" - "os" "testing" "time" @@ -69,8 +68,7 @@ func (s *MailserverSuite) SetupTest() { s.shh = waku.New(&waku.DefaultConfig, nil) s.shh.RegisterMailServer(s.server) - tmpDir, err := os.MkdirTemp("", "mailserver-test") - s.Require().NoError(err) + tmpDir := s.T().TempDir() s.dataDir = tmpDir s.config = ¶ms.WakuConfig{ @@ -79,10 +77,6 @@ func (s *MailserverSuite) SetupTest() { } } -func (s *MailserverSuite) TearDownTest() { - s.Require().NoError(os.RemoveAll(s.config.DataDir)) -} - func (s *MailserverSuite) TestInit() { testCases := []struct { config params.WakuConfig diff --git a/node/geth_status_node_test.go b/node/geth_status_node_test.go index 184cf7e80..ca03a7b68 100644 --- a/node/geth_status_node_test.go +++ b/node/geth_status_node_test.go @@ -68,17 +68,11 @@ func TestStatusNodeStart(t *testing.T) { } func TestStatusNodeWithDataDir(t *testing.T) { - var err error - - dir, err := os.MkdirTemp("", "status-node-test") - require.NoError(t, err) - defer func() { - require.NoError(t, os.RemoveAll(dir)) - }() + dir := t.TempDir() // keystore directory keyStoreDir := path.Join(dir, "keystore") - err = os.MkdirAll(keyStoreDir, os.ModePerm) + err := os.MkdirAll(keyStoreDir, os.ModePerm) require.NoError(t, err) config := params.NodeConfig{ diff --git a/params/config_test.go b/params/config_test.go index 06d5807cc..1e36c8b8e 100644 --- a/params/config_test.go +++ b/params/config_test.go @@ -3,7 +3,6 @@ package params_test import ( "fmt" "io/ioutil" - "os" "path/filepath" "testing" @@ -55,11 +54,7 @@ func TestNewNodeConfigWithDefaults(t *testing.T) { } func TestNewConfigFromJSON(t *testing.T) { - tmpDir, err := os.MkdirTemp(os.TempDir(), "geth-config-tests") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(tmpDir) // nolint: errcheck + tmpDir := t.TempDir() json := `{ "NetworkId": 3, "DataDir": "` + tmpDir + `", @@ -84,9 +79,7 @@ func TestNewConfigFromJSON(t *testing.T) { } func TestConfigWriteRead(t *testing.T) { - tmpDir, err := os.MkdirTemp(os.TempDir(), "geth-config-tests") - require.Nil(t, err) - defer os.RemoveAll(tmpDir) // nolint: errcheck + tmpDir := t.TempDir() nodeConfig, err := utils.MakeTestNodeConfigWithDataDir("", tmpDir, params.GoerliNetworkID) require.Nil(t, err, "cannot create new config object") diff --git a/profiling/profiling_test.go b/profiling/profiling_test.go index fcfa3470f..d347e0724 100644 --- a/profiling/profiling_test.go +++ b/profiling/profiling_test.go @@ -10,10 +10,9 @@ import ( ) func TestProfilingCPU(t *testing.T) { - dir, err := os.MkdirTemp("", "profiling") - require.NoError(t, err) + dir := t.TempDir() - err = StartCPUProfile(dir) + err := StartCPUProfile(dir) require.NoError(t, err) // Block for a bit to collect some metrics. @@ -38,10 +37,9 @@ func TestProfilingCPU(t *testing.T) { } func TestProfilingMem(t *testing.T) { - dir, err := os.MkdirTemp("", "profiling") - require.NoError(t, err) + dir := t.TempDir() - err = WriteHeapFile(dir) + err := WriteHeapFile(dir) require.NoError(t, err) // Verify that the file has some content. diff --git a/protocol/common/message_sender_test.go b/protocol/common/message_sender_test.go index 3c86507a4..8001a2cd4 100644 --- a/protocol/common/message_sender_test.go +++ b/protocol/common/message_sender_test.go @@ -1,7 +1,6 @@ package common import ( - "os" "path/filepath" "testing" @@ -53,8 +52,7 @@ func (s *MessageSenderSuite) SetupTest() { s.logger, err = zap.NewDevelopment() s.Require().NoError(err) - s.tmpDir, err = os.MkdirTemp("", "") - s.Require().NoError(err) + s.tmpDir = s.T().TempDir() identity, err := crypto.GenerateKey() s.Require().NoError(err) @@ -96,7 +94,6 @@ func (s *MessageSenderSuite) SetupTest() { } func (s *MessageSenderSuite) TearDownTest() { - os.Remove(s.tmpDir) _ = s.logger.Sync() } diff --git a/protocol/encryption/persistence_keys_storage_test.go b/protocol/encryption/persistence_keys_storage_test.go index 7fe7229e0..09af66fe6 100644 --- a/protocol/encryption/persistence_keys_storage_test.go +++ b/protocol/encryption/persistence_keys_storage_test.go @@ -1,7 +1,6 @@ package encryption import ( - "os" "path/filepath" "testing" @@ -31,9 +30,7 @@ type SQLLitePersistenceKeysStorageTestSuite struct { } func (s *SQLLitePersistenceKeysStorageTestSuite) SetupTest() { - dir, err := os.MkdirTemp("", "keys-storage-persistence") - s.Require().NoError(err) - + dir := s.T().TempDir() key := "blahblahblah" db, err := sqlite.Open(filepath.Join(dir, "db.sql"), key, sqlite.ReducedKDFIterationsNumber) diff --git a/protocol/encryption/persistence_test.go b/protocol/encryption/persistence_test.go index 75ab72314..a01bdc4a1 100644 --- a/protocol/encryption/persistence_test.go +++ b/protocol/encryption/persistence_test.go @@ -2,7 +2,6 @@ package encryption import ( "database/sql" - "os" "path/filepath" "testing" @@ -26,8 +25,7 @@ type SQLLitePersistenceTestSuite struct { } func (s *SQLLitePersistenceTestSuite) SetupTest() { - dir, err := os.MkdirTemp("", "sqlite-persistence") - s.Require().NoError(err) + dir := s.T().TempDir() db, err := sqlite.Open(filepath.Join(dir, "db.sql"), "test-key", sqlite.ReducedKDFIterationsNumber) s.Require().NoError(err) diff --git a/protocol/sqlite/db_test.go b/protocol/sqlite/db_test.go index c0ef72389..f063444ad 100644 --- a/protocol/sqlite/db_test.go +++ b/protocol/sqlite/db_test.go @@ -1,7 +1,6 @@ package sqlite import ( - "os" "path/filepath" "testing" @@ -9,9 +8,7 @@ import ( ) func TestOpen(t *testing.T) { - dir, err := os.MkdirTemp("", "test-open") - require.NoError(t, err) - defer os.Remove(dir) + dir := t.TempDir() dbPath := filepath.Join(dir, "db.sql") diff --git a/server/pairing/payload_management_test.go b/server/pairing/payload_management_test.go index 030c84475..dbb6d28f2 100644 --- a/server/pairing/payload_management_test.go +++ b/server/pairing/payload_management_test.go @@ -62,27 +62,21 @@ func setupTestDB(t *testing.T) (*multiaccounts.Database, func()) { } } -func makeKeystores(t *testing.T) (string, string, func()) { - keyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts") - require.NoError(t, err) - - emptyKeyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts_empty") - require.NoError(t, err) +func makeKeystores(t *testing.T) (string, string) { + keyStoreDir := t.TempDir() + emptyKeyStoreDir := t.TempDir() keyStoreDir = filepath.Join(keyStoreDir, keystoreDir, keyUID) // TODO test case where the keystore dir does not yet exist because the device is new emptyKeyStoreDir = filepath.Join(emptyKeyStoreDir, keystoreDir) - err = os.MkdirAll(keyStoreDir, 0777) + err := os.MkdirAll(keyStoreDir, 0777) require.NoError(t, err) err = os.MkdirAll(emptyKeyStoreDir, 0777) require.NoError(t, err) - return keyStoreDir, emptyKeyStoreDir, func() { - os.RemoveAll(keyStoreDir) - os.RemoveAll(emptyKeyStoreDir) - } + return keyStoreDir, emptyKeyStoreDir } func initKeys(t *testing.T, keyStoreDir string) { @@ -122,11 +116,10 @@ func (pms *PayloadMarshallerSuite) SetupTest() { db1, db1td := setupTestDB(pms.T()) db2, db2td := setupTestDB(pms.T()) - keystore1, keystore2, kstd := makeKeystores(pms.T()) + keystore1, keystore2 := makeKeystores(pms.T()) pms.teardown = func() { db1td() db2td() - kstd() } initKeys(pms.T(), keystore1) diff --git a/server/pairing/sync_device_test.go b/server/pairing/sync_device_test.go index c654acf12..254ea0d47 100644 --- a/server/pairing/sync_device_test.go +++ b/server/pairing/sync_device_test.go @@ -3,7 +3,6 @@ package pairing import ( "context" "encoding/json" - "os" "path/filepath" "testing" @@ -51,19 +50,8 @@ type SyncDeviceSuite struct { func (s *SyncDeviceSuite) SetupTest() { s.password = "password" - - clientAsSenderTmpdir, err := os.MkdirTemp("", "TestPairingSyncDeviceClientAsSender") - require.NoError(s.T(), err) - s.clientAsSenderTmpdir = clientAsSenderTmpdir - - clientAsReceiverTmpdir, err := os.MkdirTemp("", "TestPairingSyncDeviceClientAsReceiver") - require.NoError(s.T(), err) - s.clientAsReceiverTmpdir = clientAsReceiverTmpdir -} - -func (s *SyncDeviceSuite) TearDownTest() { - os.RemoveAll(s.clientAsSenderTmpdir) - os.RemoveAll(s.clientAsReceiverTmpdir) + s.clientAsSenderTmpdir = s.T().TempDir() + s.clientAsReceiverTmpdir = s.T().TempDir() } func (s *SyncDeviceSuite) prepareBackendWithAccount(tmpdir string) *api.GethStatusBackend { diff --git a/services/ens/api_test.go b/services/ens/api_test.go index 0221252ea..f74e5b21e 100644 --- a/services/ens/api_test.go +++ b/services/ens/api_test.go @@ -35,9 +35,6 @@ func createDB(t *testing.T) (*sql.DB, func()) { func setupTestAPI(t *testing.T) (*API, func()) { db, cancel := createDB(t) - keyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts") - require.NoError(t, err) - // Creating a dummy status node to simulate what it's done in get_status_node.go upstreamConfig := params.UpstreamRPCConfig{ URL: "https://mainnet.infura.io/v3/800c641949d64d768a5070a1b0511938", @@ -55,7 +52,7 @@ func setupTestAPI(t *testing.T) (*API, func()) { // import account keys utils.Init() - require.NoError(t, utils.ImportTestAccount(keyStoreDir, utils.GetAccount1PKFile())) + require.NoError(t, utils.ImportTestAccount(t.TempDir(), utils.GetAccount1PKFile())) return NewAPI(rpcClient, nil, nil, nil, db, time.Now, nil), cancel } diff --git a/services/wakuext/api_test.go b/services/wakuext/api_test.go index 0d6aea289..7ca8ab76a 100644 --- a/services/wakuext/api_test.go +++ b/services/wakuext/api_test.go @@ -102,13 +102,10 @@ func TestRequestMessagesErrors(t *testing.T) { } func TestInitProtocol(t *testing.T) { - directory, err := os.MkdirTemp("", "status-go-testing") - require.NoError(t, err) - config := params.NodeConfig{ ShhextConfig: params.ShhextConfig{ InstallationID: "2", - BackupDisabledDataDir: directory, + BackupDisabledDataDir: t.TempDir(), PFSEnabled: true, MailServerConfirmations: true, ConnectionTarget: 10, @@ -124,8 +121,7 @@ func TestInitProtocol(t *testing.T) { nodeWrapper := ext.NewTestNodeWrapper(nil, waku) service := New(config, nodeWrapper, nil, nil, db) - tmpdir, err := os.MkdirTemp("", "test-shhext-service-init-protocol") - require.NoError(t, err) + tmpdir := t.TempDir() sqlDB, err := appdatabase.InitializeDB(fmt.Sprintf("%s/db.sql", tmpdir), "password", sqlite.ReducedKDFIterationsNumber) require.NoError(t, err) @@ -222,9 +218,7 @@ func (s *ShhExtSuite) createAndAddNode() { } func (s *ShhExtSuite) SetupTest() { - var err error - s.dir, err = os.MkdirTemp("", "status-go-testing") - s.Require().NoError(err) + s.dir = s.T().TempDir() } func (s *ShhExtSuite) TearDownTest() { diff --git a/services/web3provider/api_test.go b/services/web3provider/api_test.go index 754fa543d..81b7acfd2 100644 --- a/services/web3provider/api_test.go +++ b/services/web3provider/api_test.go @@ -39,8 +39,7 @@ func createDB(t *testing.T) (*sql.DB, func()) { func setupTestAPI(t *testing.T) (*API, func()) { db, cancel := createDB(t) - keyStoreDir, err := os.MkdirTemp(os.TempDir(), "accounts") - require.NoError(t, err) + keyStoreDir := t.TempDir() // Creating a dummy status node to simulate what it's done in get_status_node.go upstreamConfig := params.UpstreamRPCConfig{