Update reorg test to insert genesis block first.

btcdb was changed a while back to not insert the genesis block by default.
This commit modifies the reorg test to insert it as required so not all
blocks are orphans.
This commit is contained in:
Dave Collins 2013-10-06 13:51:10 -05:00
parent 4151416b16
commit bce548cb99
2 changed files with 60 additions and 43 deletions

View file

@ -56,6 +56,12 @@ func TestReorganization(t *testing.T) {
defer os.Remove(dbname)
defer db.Close()
// Insert the main network genesis block.
genesis := btcutil.NewBlock(&btcwire.GenesisBlock)
if _, err := db.InsertBlock(genesis); err != nil {
t.Errorf("Failed to insert genesis block: %v", err)
}
// Since we're not dealing with the real block chain, disable
// checkpoints and set the coinbase maturity to 1.
blockChain := btcchain.New(db, btcwire.MainNet, nil)

View file

@ -1,79 +1,90 @@
github.com/conformal/btcchain/chain.go BlockChain.removeOrphanBlock 100.00% (12/12)
github.com/conformal/btcchain/chain.go BlockChain.getOrphanRoot 100.00% (7/7)
github.com/conformal/btcchain/chain.go BlockChain.removeOrphanBlock 100.00% (16/16)
github.com/conformal/btcchain/validate.go countSigOps 100.00% (8/8)
github.com/conformal/btcchain/checkpoints.go init 100.00% (6/6)
github.com/conformal/btcchain/merkle.go hashMerkleBranches 100.00% (5/5)
github.com/conformal/btcchain/difficulty.go ShaHashToBig 100.00% (5/5)
github.com/conformal/btcchain/chain.go newBlockNode 100.00% (4/4)
github.com/conformal/btcchain/merkle.go hashMerkleBranches 100.00% (5/5)
github.com/conformal/btcchain/merkle.go nextPowerOfTwo 100.00% (4/4)
github.com/conformal/btcchain/difficulty.go calcWork 100.00% (3/3)
github.com/conformal/btcchain/chain.go newBlockNode 100.00% (4/4)
github.com/conformal/btcchain/process.go BlockChain.blockExists 100.00% (3/3)
github.com/conformal/btcchain/chain.go New 100.00% (2/2)
github.com/conformal/btcchain/checkpoints.go newShaHashFromStr 100.00% (2/2)
github.com/conformal/btcchain/timesorter.go timeSorter.Less 100.00% (1/1)
github.com/conformal/btcchain/validate.go calcBlockSubsidy 100.00% (1/1)
github.com/conformal/btcchain/timesorter.go timeSorter.Swap 100.00% (1/1)
github.com/conformal/btcchain/checkpoints.go BlockChain.DisableCheckpoints 100.00% (1/1)
github.com/conformal/btcchain/timesorter.go timeSorter.Len 100.00% (1/1)
github.com/conformal/btcchain/chain.go New 100.00% (2/2)
github.com/conformal/btcchain/log.go DisableLog 100.00% (1/1)
github.com/conformal/btcchain/validate.go calcBlockSubsidy 100.00% (1/1)
github.com/conformal/btcchain/timesorter.go timeSorter.Less 100.00% (1/1)
github.com/conformal/btcchain/timesorter.go timeSorter.Swap 100.00% (1/1)
github.com/conformal/btcchain/timesorter.go timeSorter.Len 100.00% (1/1)
github.com/conformal/btcchain/log.go init 100.00% (1/1)
github.com/conformal/btcchain/params.go BlockChain.chainParams 100.00% (1/1)
github.com/conformal/btcchain/checkpoints.go BlockChain.DisableCheckpoints 100.00% (1/1)
github.com/conformal/btcchain/merkle.go BuildMerkleTreeStore 94.12% (16/17)
github.com/conformal/btcchain/txlookup.go disconnectTransactions 93.75% (15/16)
github.com/conformal/btcchain/txlookup.go fetchTxListMain 93.33% (14/15)
github.com/conformal/btcchain/process.go BlockChain.processOrphans 92.86% (13/14)
github.com/conformal/btcchain/chain.go BlockChain.getReorganizeNodes 92.86% (13/14)
github.com/conformal/btcchain/process.go BlockChain.processOrphans 91.67% (11/12)
github.com/conformal/btcchain/txlookup.go disconnectTransactions 90.91% (10/11)
github.com/conformal/btcchain/txlookup.go BlockChain.fetchTxList 88.57% (31/35)
github.com/conformal/btcchain/scriptval.go validateAllTxIn 87.88% (29/33)
github.com/conformal/btcchain/scriptval.go checkBlockScripts 87.50% (7/8)
github.com/conformal/btcchain/chain.go BlockChain.connectBestChain 86.96% (20/23)
github.com/conformal/btcchain/validate.go countSigOps 86.67% (13/15)
github.com/conformal/btcchain/chain.go BlockChain.connectBestChain 90.00% (27/30)
github.com/conformal/btcchain/chain.go BlockChain.getPrevNodeFromBlock 88.89% (8/9)
github.com/conformal/btcchain/scriptval.go ValidateTransactionScripts 88.24% (30/34)
github.com/conformal/btcchain/chain.go BlockChain.calcPastMedianTime 88.24% (15/17)
github.com/conformal/btcchain/txlookup.go BlockChain.fetchTxList 86.36% (19/22)
github.com/conformal/btcchain/scriptval.go checkBlockScripts 85.71% (6/7)
github.com/conformal/btcchain/chain.go BlockChain.reorganizeChain 85.29% (29/34)
github.com/conformal/btcchain/chain.go BlockChain.connectBlock 83.33% (10/12)
github.com/conformal/btcchain/validate.go isCoinBase 83.33% (5/6)
github.com/conformal/btcchain/chain.go BlockChain.calcPastMedianTime 82.35% (14/17)
github.com/conformal/btcchain/chain.go BlockChain.reorganizeChain 80.77% (21/26)
github.com/conformal/btcchain/validate.go IsCoinBase 83.33% (5/6)
github.com/conformal/btcchain/chain.go BlockChain.isMajorityVersion 80.00% (8/10)
github.com/conformal/btcchain/txlookup.go BlockChain.fetchInputTransactions 78.26% (18/23)
github.com/conformal/btcchain/chain.go BlockChain.getPrevNodeFromBlock 77.78% (7/9)
github.com/conformal/btcchain/difficulty.go calcWork 80.00% (4/5)
github.com/conformal/btcchain/chain.go BlockChain.addOrphanBlock 77.78% (14/18)
github.com/conformal/btcchain/txlookup.go BlockChain.fetchInputTransactions 76.92% (20/26)
github.com/conformal/btcchain/chain.go BlockChain.disconnectBlock 76.92% (10/13)
github.com/conformal/btcchain/chain.go BlockChain.addOrphanBlock 75.00% (12/16)
github.com/conformal/btcchain/difficulty.go BigToCompact 75.00% (12/16)
github.com/conformal/btcchain/difficulty.go CompactToBig 75.00% (9/12)
github.com/conformal/btcchain/validate.go BlockChain.checkConnectBlock 68.52% (37/54)
github.com/conformal/btcchain/validate.go BlockChain.checkBlockSanity 66.67% (30/45)
github.com/conformal/btcchain/validate.go BlockChain.checkConnectBlock 69.23% (36/52)
github.com/conformal/btcchain/validate.go isNullOutpoint 66.67% (2/3)
github.com/conformal/btcchain/validate.go BlockChain.checkBlockSanity 65.12% (28/43)
github.com/conformal/btcchain/scriptval.go validateTxIn 64.71% (11/17)
github.com/conformal/btcchain/validate.go checkTransactionInputs 63.64% (28/44)
github.com/conformal/btcchain/validate.go checkTransactionSanity 62.16% (23/37)
github.com/conformal/btcchain/validate.go CheckTransactionInputs 64.44% (29/45)
github.com/conformal/btcchain/validate.go CheckTransactionSanity 62.16% (23/37)
github.com/conformal/btcchain/txlookup.go connectTransactions 60.00% (9/15)
github.com/conformal/btcchain/params.go ChainParams 60.00% (3/5)
github.com/conformal/btcchain/validate.go isBIP0030Node 60.00% (3/5)
github.com/conformal/btcchain/params.go BlockChain.netParams 60.00% (3/5)
github.com/conformal/btcchain/process.go BlockChain.ProcessBlock 59.09% (26/44)
github.com/conformal/btcchain/validate.go BlockChain.checkProofOfWork 58.82% (10/17)
github.com/conformal/btcchain/validate.go BlockChain.checkBIP0030 57.14% (8/14)
github.com/conformal/btcchain/process.go BlockChain.ProcessBlock 55.81% (24/43)
github.com/conformal/btcchain/accept.go BlockChain.maybeAcceptBlock 53.52% (38/71)
github.com/conformal/btcchain/chain.go BlockChain.loadBlockNode 50.00% (11/22)
github.com/conformal/btcchain/checkpoints.go BlockChain.LatestCheckpoint 50.00% (2/4)
github.com/conformal/btcchain/chain.go BlockChain.getPrevNodeFromNode 50.00% (4/8)
github.com/conformal/btcchain/notifications.go BlockChain.sendNotification 50.00% (2/4)
github.com/conformal/btcchain/accept.go BlockChain.maybeAcceptBlock 46.38% (32/69)
github.com/conformal/btcchain/chain.go BlockChain.getPrevNodeFromNode 33.33% (4/12)
github.com/conformal/btcchain/checkpoints.go BlockChain.LatestCheckpoint 50.00% (2/4)
github.com/conformal/btcchain/chain.go BlockChain.pruneBlockNodes 41.18% (7/17)
github.com/conformal/btcchain/checkpoints.go BlockChain.verifyCheckpoint 33.33% (2/6)
github.com/conformal/btcchain/validate.go isFinalizedTransaction 23.08% (3/13)
github.com/conformal/btcchain/validate.go IsFinalizedTransaction 23.08% (3/13)
github.com/conformal/btcchain/difficulty.go BlockChain.calcNextRequiredDifficulty 19.51% (8/41)
github.com/conformal/btcchain/checkpoints.go BlockChain.findLatestKnownCheckpoint 18.18% (2/11)
github.com/conformal/btcchain/difficulty.go BlockChain.calcNextRequiredDifficulty 15.00% (6/40)
github.com/conformal/btcchain/blocklocator.go BlockChain.BlockLocatorFromHash 0.00% (0/39)
github.com/conformal/btcchain/checkpoints.go BlockChain.IsCheckpointCandidate 0.00% (0/32)
github.com/conformal/btcchain/validate.go countP2SHSigOps 0.00% (0/26)
github.com/conformal/btcchain/difficulty.go BigToCompact 0.00% (0/16)
github.com/conformal/btcchain/difficulty.go BlockChain.calcEasiestDifficulty 0.00% (0/14)
github.com/conformal/btcchain/validate.go countP2SHSigOps 0.00% (0/24)
github.com/conformal/btcchain/chain.go BlockChain.GenerateInitialIndex 0.00% (0/17)
github.com/conformal/btcchain/txlookup.go BlockChain.FetchTransactionStore 0.00% (0/15)
github.com/conformal/btcchain/difficulty.go BlockChain.calcEasiestDifficulty 0.00% (0/15)
github.com/conformal/btcchain/validate.go checkSerializedHeight 0.00% (0/12)
github.com/conformal/btcchain/difficulty.go BlockChain.findPrevTestNetDifficulty 0.00% (0/12)
github.com/conformal/btcchain/chain.go BlockChain.removeBlockNode 0.00% (0/12)
github.com/conformal/btcchain/chain.go BlockChain.GetOrphanRoot 0.00% (0/11)
github.com/conformal/btcchain/chain.go BlockChain.IsCurrent 0.00% (0/9)
github.com/conformal/btcchain/chain.go removeChildNode 0.00% (0/8)
github.com/conformal/btcchain/chain.go BlockChain.HaveInventory 0.00% (0/7)
github.com/conformal/btcchain/log.go SetLogWriter 0.00% (0/7)
github.com/conformal/btcchain/blocklocator.go BlockChain.LatestBlockLocator 0.00% (0/6)
github.com/conformal/btcchain/chain.go BlockChain.IsKnownOrphan 0.00% (0/5)
github.com/conformal/btcchain/checkpoints.go isNonstandardTransaction 0.00% (0/5)
github.com/conformal/btcchain/checkpoints.go BlockChain.checkpointData 0.00% (0/4)
github.com/conformal/btcchain/validate.go isTransactionSpent 0.00% (0/4)
github.com/conformal/btcchain/notifications.go NotificationType.String 0.00% (0/3)
github.com/conformal/btcchain/chain.go addChildrenWork 0.00% (0/3)
github.com/conformal/btcchain/process.go RuleError.Error 0.00% (0/1)
github.com/conformal/btcchain/chain.go BlockChain.DisableVerify 0.00% (0/1)
github.com/conformal/btcchain/log.go UseLogger 0.00% (0/1)
github.com/conformal/btcchain/log.go logClosure.String 0.00% (0/1)
github.com/conformal/btcchain/log.go newLogClosure 0.00% (0/1)
github.com/conformal/btcchain ------------------------------------- 57.57% (578/1004)
github.com/conformal/btcchain/log.go UseLogger 0.00% (0/1)
github.com/conformal/btcchain/chain.go BlockChain.DisableVerify 0.00% (0/1)
github.com/conformal/btcchain/log.go logClosure.String 0.00% (0/1)
github.com/conformal/btcchain/process.go RuleError.Error 0.00% (0/1)
github.com/conformal/btcchain ------------------------------------- 53.97% (625/1158)