From e51b4821ce72300828fa12b96ee3ba41d76df103 Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Fri, 3 Apr 2020 14:13:53 -0700 Subject: [PATCH] walletdb: use temp dir for db filepaths in tests --- walletdb/bdb/driver_test.go | 22 ++++++++++++++++++---- walletdb/bdb/interface_test.go | 11 ++++++++++- walletdb/db_test.go | 12 ++++++++++-- 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/walletdb/bdb/driver_test.go b/walletdb/bdb/driver_test.go index 8fdcab1..aa4d872 100644 --- a/walletdb/bdb/driver_test.go +++ b/walletdb/bdb/driver_test.go @@ -6,7 +6,9 @@ package bdb_test import ( "fmt" + "io/ioutil" "os" + "path/filepath" "reflect" "testing" @@ -71,13 +73,19 @@ func TestCreateOpenFail(t *testing.T) { // Ensure operations against a closed database return the expected // error. - dbPath := "createfail.db" + tempDir, err := ioutil.TempDir("", "createfail") + if err != nil { + t.Errorf("unable to create temp dir: %v", err) + return + } + defer os.Remove(tempDir) + + dbPath := filepath.Join(tempDir, "db") db, err := walletdb.Create(dbType, dbPath, true) if err != nil { t.Errorf("Create: unexpected error: %v", err) return } - defer os.Remove(dbPath) db.Close() wantErr = walletdb.ErrDbNotOpen @@ -92,13 +100,19 @@ func TestCreateOpenFail(t *testing.T) { // reopening the database. func TestPersistence(t *testing.T) { // Create a new database to run tests against. - dbPath := "persistencetest.db" + tempDir, err := ioutil.TempDir("", "persistencetest") + if err != nil { + t.Errorf("unable to create temp dir: %v", err) + return + } + defer os.Remove(tempDir) + + dbPath := filepath.Join(tempDir, "db") db, err := walletdb.Create(dbType, dbPath, true) if err != nil { t.Errorf("Failed to create test database (%s) %v", dbType, err) return } - defer os.Remove(dbPath) defer db.Close() // Create a namespace and put some values into it so they can be tested diff --git a/walletdb/bdb/interface_test.go b/walletdb/bdb/interface_test.go index 1dcf605..3755b1d 100644 --- a/walletdb/bdb/interface_test.go +++ b/walletdb/bdb/interface_test.go @@ -13,7 +13,9 @@ package bdb_test import ( + "io/ioutil" "os" + "path/filepath" "testing" "github.com/btcsuite/btcwallet/walletdb/walletdbtest" @@ -21,7 +23,14 @@ import ( // TestInterface performs all interfaces tests for this database driver. func TestInterface(t *testing.T) { - dbPath := "interfacetest.db" + tempDir, err := ioutil.TempDir("", "interfacetest") + if err != nil { + t.Errorf("unable to create temp dir: %v", err) + return + } + defer os.Remove(tempDir) + + dbPath := filepath.Join(tempDir, "db") defer os.RemoveAll(dbPath) walletdbtest.TestInterface(t, dbType, dbPath, true) } diff --git a/walletdb/db_test.go b/walletdb/db_test.go index 48b60c3..30c4341 100644 --- a/walletdb/db_test.go +++ b/walletdb/db_test.go @@ -6,7 +6,9 @@ package walletdb_test import ( "fmt" + "io/ioutil" "os" + "path/filepath" "testing" "github.com/btcsuite/btcwallet/walletdb" @@ -54,14 +56,20 @@ func TestAddDuplicateDriver(t *testing.T) { "got %v, want %v", err, walletdb.ErrDbTypeRegistered) } - dbPath := "dupdrivertest.db" + tempDir, err := ioutil.TempDir("", "dupdrivertest") + if err != nil { + t.Errorf("unable to create temp dir: %v", err) + return + } + defer os.Remove(tempDir) + + dbPath := filepath.Join(tempDir, "db") db, err := walletdb.Create(dbType, dbPath, true) if err != nil { t.Errorf("failed to create database: %v", err) return } db.Close() - _ = os.Remove(dbPath) }