diff options
author | obscuren <geffobscura@gmail.com> | 2015-04-21 18:03:02 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-04-21 18:03:02 +0800 |
commit | f4cd66dc009191f51fc47d9c218c1073a1552bdf (patch) | |
tree | 62ccd1501fc52a4f4606c8bee0f00bc99756c088 /blockpool/peers_test.go | |
parent | ed0817c55dc45290d9de594fea28f7bc35d564da (diff) | |
download | go-tangerine-f4cd66dc009191f51fc47d9c218c1073a1552bdf.tar.gz go-tangerine-f4cd66dc009191f51fc47d9c218c1073a1552bdf.tar.zst go-tangerine-f4cd66dc009191f51fc47d9c218c1073a1552bdf.zip |
blockpool: deleted
Diffstat (limited to 'blockpool/peers_test.go')
-rw-r--r-- | blockpool/peers_test.go | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/blockpool/peers_test.go b/blockpool/peers_test.go deleted file mode 100644 index 639abbc26..000000000 --- a/blockpool/peers_test.go +++ /dev/null @@ -1,211 +0,0 @@ -package blockpool - -import ( - "flag" - "math/big" - "testing" - "time" - - "github.com/ethereum/go-ethereum/core" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/logger" - "github.com/ethereum/go-ethereum/logger/glog" -) - -var ( - _ = flag.Set("alsologtostderr", "true") - // _ = flag.Set("log_dir", ".") - _ = flag.Set("v", "5") -) - -// the actual tests -func TestAddPeer(t *testing.T) { - glog.V(logger.Error).Infoln("logging...") - hashPool, blockPool, blockPoolTester := newTestBlockPool(t) - peer0 := blockPoolTester.newPeer("peer0", 2, 2) - peer1 := blockPoolTester.newPeer("peer1", 4, 4) - peer2 := blockPoolTester.newPeer("peer2", 6, 6) - var bestpeer *peer - - blockPool.Start() - - // pool - best := peer0.AddPeer() - if !best { - t.Errorf("peer0 (TD=2) not accepted as best") - return - } - if blockPool.peers.best.id != "peer0" { - t.Errorf("peer0 (TD=2) not set as best") - return - } - peer0.serveBlocks(1, 2) - - best = peer2.AddPeer() - if !best { - t.Errorf("peer2 (TD=6) not accepted as best") - return - } - if blockPool.peers.best.id != "peer2" { - t.Errorf("peer2 (TD=6) not set as best") - return - } - peer2.serveBlocks(5, 6) - - best = peer1.AddPeer() - if best { - t.Errorf("peer1 (TD=4) accepted as best") - return - } - if blockPool.peers.best.id != "peer2" { - t.Errorf("peer2 (TD=6) not set any more as best") - return - } - if blockPool.peers.best.td.Cmp(big.NewInt(int64(6))) != 0 { - t.Errorf("peer2 TD=6 not set") - return - } - - peer2.td = 8 - peer2.currentBlock = 8 - best = peer2.AddPeer() - if !best { - t.Errorf("peer2 (TD=8) not accepted as best") - return - } - if blockPool.peers.best.id != "peer2" { - t.Errorf("peer2 (TD=8) not set as best") - return - } - if blockPool.peers.best.td.Cmp(big.NewInt(int64(8))) != 0 { - t.Errorf("peer2 TD = 8 not updated") - return - } - - peer1.td = 6 - peer1.currentBlock = 6 - best = peer1.AddPeer() - if best { - t.Errorf("peer1 (TD=6) should not be set as best") - return - } - if blockPool.peers.best.id == "peer1" { - t.Errorf("peer1 (TD=6) should not be set as best") - return - } - bestpeer, best = blockPool.peers.getPeer("peer1") - if bestpeer.td.Cmp(big.NewInt(int64(6))) != 0 { - t.Errorf("peer1 TD=6 should be updated") - return - } - - blockPool.RemovePeer("peer2") - bestpeer, best = blockPool.peers.getPeer("peer2") - if bestpeer != nil { - t.Errorf("peer2 not removed") - return - } - - if blockPool.peers.best.id != "peer1" { - t.Errorf("existing peer1 (TD=6) should be set as best peer") - return - } - - blockPool.RemovePeer("peer1") - bestpeer, best = blockPool.peers.getPeer("peer1") - if bestpeer != nil { - t.Errorf("peer1 not removed") - return - } - - if blockPool.peers.best.id != "peer0" { - t.Errorf("existing peer0 (TD=2) should be set as best peer") - return - } - - blockPool.RemovePeer("peer0") - bestpeer, best = blockPool.peers.getPeer("peer0") - if bestpeer != nil { - t.Errorf("peer0 not removed") - return - } - - // adding back earlier peer ok - peer0.currentBlock = 5 - peer0.td = 5 - best = peer0.AddPeer() - if !best { - t.Errorf("peer0 (TD=5) should be set as best") - return - } - - if blockPool.peers.best.id != "peer0" { - t.Errorf("peer0 (TD=5) should be set as best") - return - } - peer0.serveBlocks(4, 5) - - hash := hashPool.IndexesToHashes([]int{6})[0] - newblock := &types.Block{Td: big.NewInt(int64(6)), HeaderHash: hash} - blockPool.chainEvents.Post(core.ChainHeadEvent{newblock}) - time.Sleep(100 * time.Millisecond) - if blockPool.peers.best != nil { - t.Errorf("no peer should be ahead of self") - return - } - best = peer1.AddPeer() - if blockPool.peers.best != nil { - t.Errorf("after peer1 (TD=6) still no peer should be ahead of self") - return - } - - best = peer2.AddPeer() - if !best { - t.Errorf("peer2 (TD=8) not accepted as best") - return - } - - blockPool.RemovePeer("peer2") - if blockPool.peers.best != nil { - t.Errorf("no peer should be ahead of self") - return - } - - blockPool.Stop() -} - -func TestPeerPromotionByTdOnBlock(t *testing.T) { - _, blockPool, blockPoolTester := newTestBlockPool(t) - blockPoolTester.blockChain[0] = nil - blockPoolTester.initRefBlockChain(4) - peer0 := blockPoolTester.newPeer("peer0", 2, 2) - peer1 := blockPoolTester.newPeer("peer1", 1, 1) - peer2 := blockPoolTester.newPeer("peer2", 4, 4) - - blockPool.Start() - - peer0.AddPeer() - peer0.serveBlocks(1, 2) - best := peer1.AddPeer() - // this tests that peer1 is not promoted over peer0 yet - if best { - t.Errorf("peer1 (TD=1) should not be set as best") - return - } - best = peer2.AddPeer() - peer2.serveBlocks(3, 4) - peer2.serveBlockHashes(4, 3, 2, 1) - peer1.sendBlocks(3, 4) - - blockPool.RemovePeer("peer2") - if blockPool.peers.best.id != "peer1" { - t.Errorf("peer1 (TD=3) should be set as best") - return - } - peer1.serveBlocks(0, 1, 2, 3) - - blockPool.Wait(waitTimeout) - blockPool.Stop() - blockPoolTester.refBlockChain[4] = []int{} - blockPoolTester.checkBlockChain(blockPoolTester.refBlockChain) -} |