Browse Source

cleanup after tests!

pull/2337/head
Anton Kaliaev 6 years ago
parent
commit
747797bf3b
No known key found for this signature in database GPG Key ID: 7B6881D965918214
6 changed files with 41 additions and 16 deletions
  1. +5
    -1
      libs/db/backend_test.go
  2. +3
    -1
      libs/db/c_level_db_test.go
  3. +2
    -3
      libs/db/common_test.go
  4. +18
    -6
      libs/db/db_test.go
  5. +2
    -0
      libs/db/go_level_db_test.go
  6. +11
    -5
      libs/db/util_test.go

+ 5
- 1
libs/db/backend_test.go View File

@ -13,7 +13,10 @@ import (
) )
func cleanupDBDir(dir, name string) { func cleanupDBDir(dir, name string) {
os.RemoveAll(filepath.Join(dir, name) + ".db")
err := os.RemoveAll(filepath.Join(dir, name) + ".db")
if err != nil {
panic(err)
}
} }
func testBackendGetSetDelete(t *testing.T, backend DBBackendType) { func testBackendGetSetDelete(t *testing.T, backend DBBackendType) {
@ -21,6 +24,7 @@ func testBackendGetSetDelete(t *testing.T, backend DBBackendType) {
dirname, err := ioutil.TempDir("", fmt.Sprintf("test_backend_%s_", backend)) dirname, err := ioutil.TempDir("", fmt.Sprintf("test_backend_%s_", backend))
require.Nil(t, err) require.Nil(t, err)
db := NewDB("testdb", backend, dirname) db := NewDB("testdb", backend, dirname)
defer cleanupDBDir(dirname, "testdb")
// A nonexistent key should return nil, even if the key is empty // A nonexistent key should return nil, even if the key is empty
require.Nil(t, db.Get([]byte(""))) require.Nil(t, db.Get([]byte("")))


+ 3
- 1
libs/db/c_level_db_test.go View File

@ -34,7 +34,7 @@ func BenchmarkRandomReadsWrites2(b *testing.B) {
// Write something // Write something
{ {
idx := (int64(cmn.RandInt()) % numItems) idx := (int64(cmn.RandInt()) % numItems)
internal[idx] += 1
internal[idx]++
val := internal[idx] val := internal[idx]
idxBytes := int642Bytes(int64(idx)) idxBytes := int642Bytes(int64(idx))
valBytes := int642Bytes(int64(val)) valBytes := int642Bytes(int64(val))
@ -90,6 +90,8 @@ func bytes2Int64(buf []byte) int64 {
func TestCLevelDBBackend(t *testing.T) { func TestCLevelDBBackend(t *testing.T) {
name := fmt.Sprintf("test_%x", cmn.RandStr(12)) name := fmt.Sprintf("test_%x", cmn.RandStr(12))
// Can't use "" (current directory) or "./" here because levigo.Open returns:
// "Error initializing DB: IO error: test_XXX.db: Invalid argument"
dir := os.TempDir() dir := os.TempDir()
db := NewDB(name, LevelDBBackend, dir) db := NewDB(name, LevelDBBackend, dir)
defer cleanupDBDir(dir, name) defer cleanupDBDir(dir, name)


+ 2
- 3
libs/db/common_test.go View File

@ -60,11 +60,10 @@ func checkValuePanics(t *testing.T, itr Iterator) {
assert.Panics(t, func() { itr.Key() }, "checkValuePanics expected panic but didn't") assert.Panics(t, func() { itr.Key() }, "checkValuePanics expected panic but didn't")
} }
func newTempDB(t *testing.T, backend DBBackendType) (db DB) {
func newTempDB(t *testing.T, backend DBBackendType) (db DB, dbDir string) {
dirname, err := ioutil.TempDir("", "db_common_test") dirname, err := ioutil.TempDir("", "db_common_test")
require.Nil(t, err) require.Nil(t, err)
db = NewDB("testdb", backend, dirname)
return db
return NewDB("testdb", backend, dirname), dirname
} }
//---------------------------------------- //----------------------------------------


+ 18
- 6
libs/db/db_test.go View File

@ -2,6 +2,7 @@ package db
import ( import (
"fmt" "fmt"
"os"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -10,7 +11,9 @@ import (
func TestDBIteratorSingleKey(t *testing.T) { func TestDBIteratorSingleKey(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
db.SetSync(bz("1"), bz("value_1")) db.SetSync(bz("1"), bz("value_1"))
itr := db.Iterator(nil, nil) itr := db.Iterator(nil, nil)
@ -28,7 +31,9 @@ func TestDBIteratorSingleKey(t *testing.T) {
func TestDBIteratorTwoKeys(t *testing.T) { func TestDBIteratorTwoKeys(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
db.SetSync(bz("1"), bz("value_1")) db.SetSync(bz("1"), bz("value_1"))
db.SetSync(bz("2"), bz("value_1")) db.SetSync(bz("2"), bz("value_1"))
@ -54,7 +59,8 @@ func TestDBIteratorTwoKeys(t *testing.T) {
func TestDBIteratorMany(t *testing.T) { func TestDBIteratorMany(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
keys := make([][]byte, 100) keys := make([][]byte, 100)
for i := 0; i < 100; i++ { for i := 0; i < 100; i++ {
@ -78,7 +84,9 @@ func TestDBIteratorMany(t *testing.T) {
func TestDBIteratorEmpty(t *testing.T) { func TestDBIteratorEmpty(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
itr := db.Iterator(nil, nil) itr := db.Iterator(nil, nil)
checkInvalid(t, itr) checkInvalid(t, itr)
@ -89,7 +97,9 @@ func TestDBIteratorEmpty(t *testing.T) {
func TestDBIteratorEmptyBeginAfter(t *testing.T) { func TestDBIteratorEmptyBeginAfter(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
itr := db.Iterator(bz("1"), nil) itr := db.Iterator(bz("1"), nil)
checkInvalid(t, itr) checkInvalid(t, itr)
@ -100,7 +110,9 @@ func TestDBIteratorEmptyBeginAfter(t *testing.T) {
func TestDBIteratorNonemptyBeginAfter(t *testing.T) { func TestDBIteratorNonemptyBeginAfter(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
db.SetSync(bz("1"), bz("value_1")) db.SetSync(bz("1"), bz("value_1"))
itr := db.Iterator(bz("2"), nil) itr := db.Iterator(bz("2"), nil)


+ 2
- 0
libs/db/go_level_db_test.go View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"encoding/binary" "encoding/binary"
"fmt" "fmt"
"os"
"testing" "testing"
"github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/opt"
@ -17,6 +18,7 @@ func TestNewGoLevelDB(t *testing.T) {
// Test write locks // Test write locks
db, err := NewGoLevelDB(name, "") db, err := NewGoLevelDB(name, "")
require.Nil(t, err) require.Nil(t, err)
defer os.RemoveAll("./" + name + ".db")
_, err = NewGoLevelDB(name, "") _, err = NewGoLevelDB(name, "")
require.NotNil(t, err) require.NotNil(t, err)
db.Close() // Close the db to release the lock db.Close() // Close the db to release the lock


+ 11
- 5
libs/db/util_test.go View File

@ -2,6 +2,7 @@ package db
import ( import (
"fmt" "fmt"
"os"
"testing" "testing"
) )
@ -9,7 +10,8 @@ import (
func TestPrefixIteratorNoMatchNil(t *testing.T) { func TestPrefixIteratorNoMatchNil(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
itr := IteratePrefix(db, []byte("2")) itr := IteratePrefix(db, []byte("2"))
checkInvalid(t, itr) checkInvalid(t, itr)
@ -21,7 +23,8 @@ func TestPrefixIteratorNoMatchNil(t *testing.T) {
func TestPrefixIteratorNoMatch1(t *testing.T) { func TestPrefixIteratorNoMatch1(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
itr := IteratePrefix(db, []byte("2")) itr := IteratePrefix(db, []byte("2"))
db.SetSync(bz("1"), bz("value_1")) db.SetSync(bz("1"), bz("value_1"))
@ -34,7 +37,8 @@ func TestPrefixIteratorNoMatch1(t *testing.T) {
func TestPrefixIteratorNoMatch2(t *testing.T) { func TestPrefixIteratorNoMatch2(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
db.SetSync(bz("3"), bz("value_3")) db.SetSync(bz("3"), bz("value_3"))
itr := IteratePrefix(db, []byte("4")) itr := IteratePrefix(db, []byte("4"))
@ -47,7 +51,8 @@ func TestPrefixIteratorNoMatch2(t *testing.T) {
func TestPrefixIteratorMatch1(t *testing.T) { func TestPrefixIteratorMatch1(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
db.SetSync(bz("2"), bz("value_2")) db.SetSync(bz("2"), bz("value_2"))
itr := IteratePrefix(db, bz("2")) itr := IteratePrefix(db, bz("2"))
@ -65,7 +70,8 @@ func TestPrefixIteratorMatch1(t *testing.T) {
func TestPrefixIteratorMatches1N(t *testing.T) { func TestPrefixIteratorMatches1N(t *testing.T) {
for backend := range backends { for backend := range backends {
t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) { t.Run(fmt.Sprintf("Prefix w/ backend %s", backend), func(t *testing.T) {
db := newTempDB(t, backend)
db, dir := newTempDB(t, backend)
defer os.RemoveAll(dir)
// prefixed // prefixed
db.SetSync(bz("a/1"), bz("value_1")) db.SetSync(bz("a/1"), bz("value_1"))


Loading…
Cancel
Save