[DEV-326] Fixed ffldb tests broken in Windows (#153)

* [DEV-326] Worked around a parallelism issue in go test. Fixed a test where a file was being deleted while still open.

* [DEV-326] Worked around a timer-related oddity.

* [DEV-326] Fixed closing a file twice.

* [DEV-326] Using pdb.closed instead of an additional variable.
This commit is contained in:
stasatdaglabs 2019-01-09 13:41:40 +02:00 committed by Svarog
parent cc9b8da351
commit 41d1a08365
3 changed files with 12 additions and 3 deletions

View File

@ -29,7 +29,11 @@ func TestDeleteFile(t *testing.T) {
for _, test := range tests {
func() {
pdb := newTestDb("TestDeleteFile", t)
defer pdb.Close()
defer func() {
if !pdb.closed {
pdb.Close()
}
}()
err := pdb.Update(func(dbTx database.Tx) error {
dbTx.StoreBlock(testBlock)
@ -39,6 +43,11 @@ func TestDeleteFile(t *testing.T) {
t.Fatalf("TestDeleteFile: Error storing block: %s", err)
}
err = pdb.Close()
if err != nil {
t.Fatalf("TestDeleteFile: Error closing file before deletion: %s", err)
}
err = pdb.store.deleteFile(test.fileNum)
if (err != nil) != test.expectedErr {
t.Errorf("TestDeleteFile: %d: Expected error status: %t, but got: %t",

View File

@ -13,7 +13,7 @@ import (
)
func newTestDb(testName string, t *testing.T) *db {
dbPath := path.Join(os.TempDir(), "db_test")
dbPath := path.Join(os.TempDir(), "db_test", testName)
err := os.RemoveAll(dbPath)
if err != nil && !os.IsNotExist(err) {
t.Fatalf("%s: Error deleting database folder before starting: %s", testName, err)

View File

@ -533,7 +533,7 @@ func (c *dbCache) flush() error {
func (c *dbCache) needsFlush(tx *transaction) bool {
// A flush is needed when more time has elapsed than the configured
// flush interval.
if time.Since(c.lastFlush) > c.flushInterval {
if time.Since(c.lastFlush) >= c.flushInterval {
return true
}