[NOD-1532] Add DiscardAllStores to TestConsensus

This commit is contained in:
Mike Zak 2020-11-15 15:36:10 +02:00 committed by Svarog
parent b50421beee
commit a1fa17d872
6 changed files with 24 additions and 8 deletions

View File

@ -30,6 +30,7 @@ type consensus struct {
pruningManager model.PruningManager
reachabilityManager model.ReachabilityManager
acceptanceDataStore model.AcceptanceDataStore
blockStore model.BlockStore
blockHeaderStore model.BlockHeaderStore
pruningStore model.PruningStore

View File

@ -273,6 +273,7 @@ func (f *factory) NewConsensus(dagParams *dagconfig.Params, db infrastructuredat
pruningManager: pruningManager,
reachabilityManager: reachabilityManager,
acceptanceDataStore: acceptanceDataStore,
blockStore: blockStore,
blockHeaderStore: blockHeaderStore,
pruningStore: pruningStore,

View File

@ -21,6 +21,8 @@ type TestConsensus interface {
SolveAndAddBlock(block *externalapi.DomainBlock) (*externalapi.DomainHash, error)
DiscardAllStores()
AcceptanceDataStore() model.AcceptanceDataStore
BlockHeaderStore() model.BlockHeaderStore
BlockRelationStore() model.BlockRelationStore

View File

@ -72,17 +72,17 @@ func (bb *testBlockBuilder) buildBlockWithParents(
parentHashes []*externalapi.DomainHash, coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, error) {
defer bb.testConsensus.DiscardAllStores()
err := bb.blockRelationStore.StageBlockRelation(tempBlockHash, &model.BlockRelations{Parents: parentHashes})
if err != nil {
return nil, err
}
defer bb.blockRelationStore.Discard()
err = bb.ghostdagManager.GHOSTDAG(tempBlockHash)
if err != nil {
return nil, err
}
defer bb.ghostdagDataStore.Discard()
ghostdagData, err := bb.ghostdagDataStore.Get(bb.databaseContext, tempBlockHash)
if err != nil {
@ -93,10 +93,6 @@ func (bb *testBlockBuilder) buildBlockWithParents(
if err != nil {
return nil, err
}
defer bb.testConsensus.BlockStatusStore().Discard()
defer bb.acceptanceDataStore.Discard()
defer bb.multisetStore.Discard()
defer bb.testConsensus.UTXODiffStore().Discard()
_, acceptanceData, multiset, err := bb.consensusStateManager.CalculatePastUTXOAndAcceptanceData(tempBlockHash)
if err != nil {

View File

@ -1,9 +1,10 @@
package consensus
import (
"math/rand"
"github.com/kaspanet/kaspad/domain/consensus/utils/consensusserialization"
"github.com/kaspanet/kaspad/domain/consensus/utils/mining"
"math/rand"
"github.com/kaspanet/kaspad/domain/consensus/utils/testutils"
@ -62,3 +63,18 @@ func (tc *testConsensus) SolveAndAddBlock(block *externalapi.DomainBlock) (*exte
return consensusserialization.BlockHash(block), nil
}
func (tc *testConsensus) DiscardAllStores() {
tc.AcceptanceDataStore().Discard()
tc.BlockHeaderStore().Discard()
tc.BlockRelationStore().Discard()
tc.BlockStatusStore().Discard()
tc.BlockStore().Discard()
tc.ConsensusStateStore().Discard()
tc.GHOSTDAGDataStore().Discard()
tc.HeaderTipsStore().Discard()
tc.MultisetStore().Discard()
tc.PruningStore().Discard()
tc.ReachabilityDataStore().Discard()
tc.UTXODiffStore().Discard()
}

View File

@ -9,7 +9,7 @@ func (tc *testConsensus) DatabaseContext() model.DBReader {
}
func (tc *testConsensus) AcceptanceDataStore() model.AcceptanceDataStore {
return tc.AcceptanceDataStore()
return tc.acceptanceDataStore
}
func (tc *testConsensus) BlockHeaderStore() model.BlockHeaderStore {