github.com/prysmaticlabs/prysm@v1.4.4/slasher/db/testing/setup_db.go (about)

     1  // Package testing defines useful helper functions for unit tests with
     2  // the slasher database.
     3  package testing
     4  
     5  import (
     6  	"testing"
     7  
     8  	slasherDB "github.com/prysmaticlabs/prysm/slasher/db"
     9  	"github.com/prysmaticlabs/prysm/slasher/db/kv"
    10  )
    11  
    12  // SetupSlasherDB instantiates and returns a SlasherDB instance.
    13  func SetupSlasherDB(t testing.TB, spanCacheEnabled bool) *kv.Store {
    14  	cfg := &kv.Config{}
    15  	db, err := slasherDB.NewDB(t.TempDir(), cfg)
    16  	if err != nil {
    17  		t.Fatalf("Failed to instantiate DB: %v", err)
    18  	}
    19  	db.EnableSpanCache(spanCacheEnabled)
    20  	t.Cleanup(func() {
    21  		if err := db.Close(); err != nil {
    22  			t.Fatalf("Failed to close database: %v", err)
    23  		}
    24  	})
    25  	return db
    26  }