aboutsummaryrefslogtreecommitdiffstats
path: root/blockpool/errors_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'blockpool/errors_test.go')
-rw-r--r--blockpool/errors_test.go28
1 files changed, 27 insertions, 1 deletions
diff --git a/blockpool/errors_test.go b/blockpool/errors_test.go
index 5188930f0..350d6daef 100644
--- a/blockpool/errors_test.go
+++ b/blockpool/errors_test.go
@@ -93,7 +93,6 @@ func TestUnrequestedBlock(t *testing.T) {
peer1.AddPeer()
peer1.sendBlocks(1, 2)
- // blockPool.Wait(waitTimeout)
blockPool.Stop()
if len(peer1.peerErrors) == 1 {
if peer1.peerErrors[0] != ErrUnrequestedBlock {
@@ -124,6 +123,33 @@ func TestErrInsufficientChainInfo(t *testing.T) {
}
}
+func TestIncorrectTD(t *testing.T) {
+ test.LogInit()
+ _, blockPool, blockPoolTester := newTestBlockPool(t)
+ blockPoolTester.blockChain[0] = nil
+ blockPoolTester.initRefBlockChain(3)
+
+ blockPool.Start()
+
+ peer1 := blockPoolTester.newPeer("peer1", 1, 3)
+ peer1.AddPeer()
+ go peer1.serveBlocks(2, 3)
+ go peer1.serveBlockHashes(3, 2, 1, 0)
+ peer1.serveBlocks(0, 1, 2)
+
+ blockPool.Wait(waitTimeout)
+ blockPool.Stop()
+ blockPoolTester.refBlockChain[3] = []int{}
+ blockPoolTester.checkBlockChain(blockPoolTester.refBlockChain)
+ if len(peer1.peerErrors) == 1 {
+ if peer1.peerErrors[0] != ErrIncorrectTD {
+ t.Errorf("wrong error, got %v, expected %v", peer1.peerErrors[0], ErrIncorrectTD)
+ }
+ } else {
+ t.Errorf("expected %v error, got %v", ErrIncorrectTD, peer1.peerErrors)
+ }
+}
+
func TestPeerSuspension(t *testing.T) {
test.LogInit()
_, blockPool, blockPoolTester := newTestBlockPool(t)