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 (
"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

View file

@ -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)
}

View file

@ -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)
}