walletdb: use temp dir for db filepaths in tests

This commit is contained in:
Wilmer Paulino 2020-04-03 14:13:53 -07:00
parent 237a3ee772
commit e51b4821ce
No known key found for this signature in database
GPG key ID: 6DF57B9F9514972F
3 changed files with 38 additions and 7 deletions

View file

@ -6,7 +6,9 @@ package bdb_test
import ( import (
"fmt" "fmt"
"io/ioutil"
"os" "os"
"path/filepath"
"reflect" "reflect"
"testing" "testing"
@ -71,13 +73,19 @@ func TestCreateOpenFail(t *testing.T) {
// Ensure operations against a closed database return the expected // Ensure operations against a closed database return the expected
// error. // 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) db, err := walletdb.Create(dbType, dbPath, true)
if err != nil { if err != nil {
t.Errorf("Create: unexpected error: %v", err) t.Errorf("Create: unexpected error: %v", err)
return return
} }
defer os.Remove(dbPath)
db.Close() db.Close()
wantErr = walletdb.ErrDbNotOpen wantErr = walletdb.ErrDbNotOpen
@ -92,13 +100,19 @@ func TestCreateOpenFail(t *testing.T) {
// reopening the database. // reopening the database.
func TestPersistence(t *testing.T) { func TestPersistence(t *testing.T) {
// Create a new database to run tests against. // 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) db, err := walletdb.Create(dbType, dbPath, true)
if err != nil { if err != nil {
t.Errorf("Failed to create test database (%s) %v", dbType, err) t.Errorf("Failed to create test database (%s) %v", dbType, err)
return return
} }
defer os.Remove(dbPath)
defer db.Close() defer db.Close()
// Create a namespace and put some values into it so they can be tested // Create a namespace and put some values into it so they can be tested

View file

@ -13,7 +13,9 @@
package bdb_test package bdb_test
import ( import (
"io/ioutil"
"os" "os"
"path/filepath"
"testing" "testing"
"github.com/btcsuite/btcwallet/walletdb/walletdbtest" "github.com/btcsuite/btcwallet/walletdb/walletdbtest"
@ -21,7 +23,14 @@ import (
// TestInterface performs all interfaces tests for this database driver. // TestInterface performs all interfaces tests for this database driver.
func TestInterface(t *testing.T) { 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) defer os.RemoveAll(dbPath)
walletdbtest.TestInterface(t, dbType, dbPath, true) walletdbtest.TestInterface(t, dbType, dbPath, true)
} }

View file

@ -6,7 +6,9 @@ package walletdb_test
import ( import (
"fmt" "fmt"
"io/ioutil"
"os" "os"
"path/filepath"
"testing" "testing"
"github.com/btcsuite/btcwallet/walletdb" "github.com/btcsuite/btcwallet/walletdb"
@ -54,14 +56,20 @@ func TestAddDuplicateDriver(t *testing.T) {
"got %v, want %v", err, walletdb.ErrDbTypeRegistered) "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) db, err := walletdb.Create(dbType, dbPath, true)
if err != nil { if err != nil {
t.Errorf("failed to create database: %v", err) t.Errorf("failed to create database: %v", err)
return return
} }
db.Close() db.Close()
_ = os.Remove(dbPath)
} }