@ -10,7 +10,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/tendermint/tendermint/internal/p2p"
"github.com/tendermint/tendermint/state"
"github.com/tendermint/tendermint/types"
)
@ -20,9 +19,9 @@ type scTestParams struct {
initHeight int64
height int64
allB [ ] int64
pending map [ int64 ] p2p . NodeID
pending map [ int64 ] types . NodeID
pendingTime map [ int64 ] time . Time
received map [ int64 ] p2p . NodeID
received map [ int64 ] types . NodeID
peerTimeout time . Duration
minRecvRate int64
targetPending int
@ -41,7 +40,7 @@ func verifyScheduler(sc *scheduler) {
}
func newTestScheduler ( params scTestParams ) * scheduler {
peers := make ( map [ p2p . NodeID ] * scPeer )
peers := make ( map [ types . NodeID ] * scPeer )
var maxHeight int64
initHeight := params . initHeight
@ -54,8 +53,8 @@ func newTestScheduler(params scTestParams) *scheduler {
}
for id , peer := range params . peers {
peer . peerID = p2p . NodeID ( id )
peers [ p2p . NodeID ( id ) ] = peer
peer . peerID = types . NodeID ( id )
peers [ types . NodeID ( id ) ] = peer
if maxHeight < peer . height {
maxHeight = peer . height
}
@ -122,7 +121,7 @@ func TestScMaxHeights(t *testing.T) {
name : "one ready peer" ,
sc : scheduler {
height : 3 ,
peers : map [ p2p . NodeID ] * scPeer { "P1" : { height : 6 , state : peerStateReady } } ,
peers : map [ types . NodeID ] * scPeer { "P1" : { height : 6 , state : peerStateReady } } ,
} ,
wantMax : 6 ,
} ,
@ -130,7 +129,7 @@ func TestScMaxHeights(t *testing.T) {
name : "ready and removed peers" ,
sc : scheduler {
height : 1 ,
peers : map [ p2p . NodeID ] * scPeer {
peers : map [ types . NodeID ] * scPeer {
"P1" : { height : 4 , state : peerStateReady } ,
"P2" : { height : 10 , state : peerStateRemoved } } ,
} ,
@ -140,7 +139,7 @@ func TestScMaxHeights(t *testing.T) {
name : "removed peers" ,
sc : scheduler {
height : 1 ,
peers : map [ p2p . NodeID ] * scPeer {
peers : map [ types . NodeID ] * scPeer {
"P1" : { height : 4 , state : peerStateRemoved } ,
"P2" : { height : 10 , state : peerStateRemoved } } ,
} ,
@ -150,7 +149,7 @@ func TestScMaxHeights(t *testing.T) {
name : "new peers" ,
sc : scheduler {
height : 1 ,
peers : map [ p2p . NodeID ] * scPeer {
peers : map [ types . NodeID ] * scPeer {
"P1" : { base : - 1 , height : - 1 , state : peerStateNew } ,
"P2" : { base : - 1 , height : - 1 , state : peerStateNew } } ,
} ,
@ -160,7 +159,7 @@ func TestScMaxHeights(t *testing.T) {
name : "mixed peers" ,
sc : scheduler {
height : 1 ,
peers : map [ p2p . NodeID ] * scPeer {
peers : map [ types . NodeID ] * scPeer {
"P1" : { height : - 1 , state : peerStateNew } ,
"P2" : { height : 10 , state : peerStateReady } ,
"P3" : { height : 20 , state : peerStateRemoved } ,
@ -187,7 +186,7 @@ func TestScMaxHeights(t *testing.T) {
func TestScEnsurePeer ( t * testing . T ) {
type args struct {
peerID p2p . NodeID
peerID types . NodeID
}
tests := [ ] struct {
name string
@ -244,7 +243,7 @@ func TestScTouchPeer(t *testing.T) {
now := time . Now ( )
type args struct {
peerID p2p . NodeID
peerID types . NodeID
time time . Time
}
@ -316,13 +315,13 @@ func TestScPrunablePeers(t *testing.T) {
name string
fields scTestParams
args args
wantResult [ ] p2p . NodeID
wantResult [ ] types . NodeID
} {
{
name : "no peers" ,
fields : scTestParams { peers : map [ string ] * scPeer { } } ,
args : args { threshold : time . Second , time : now . Add ( time . Second + time . Millisecond ) , minSpeed : 100 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "mixed peers" ,
@ -341,7 +340,7 @@ func TestScPrunablePeers(t *testing.T) {
"P6" : { state : peerStateReady , lastTouched : now . Add ( time . Second ) , lastRate : 90 } ,
} } ,
args : args { threshold : time . Second , time : now . Add ( time . Second + time . Millisecond ) , minSpeed : 100 } ,
wantResult : [ ] p2p . NodeID { "P4" , "P5" , "P6" } ,
wantResult : [ ] types . NodeID { "P4" , "P5" , "P6" } ,
} ,
}
@ -361,7 +360,7 @@ func TestScPrunablePeers(t *testing.T) {
func TestScRemovePeer ( t * testing . T ) {
type args struct {
peerID p2p . NodeID
peerID types . NodeID
}
tests := [ ] struct {
name string
@ -424,13 +423,13 @@ func TestScRemovePeer(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" } ,
} ,
args : args { peerID : "P1" } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateRemoved } } ,
allB : [ ] int64 { } ,
pending : map [ int64 ] p2p . NodeID { } ,
pending : map [ int64 ] types . NodeID { } ,
} ,
} ,
{
@ -438,13 +437,13 @@ func TestScRemovePeer(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" } ,
} ,
args : args { peerID : "P1" } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateRemoved } } ,
allB : [ ] int64 { } ,
received : map [ int64 ] p2p . NodeID { } ,
received : map [ int64 ] types . NodeID { } ,
} ,
} ,
{
@ -452,15 +451,15 @@ func TestScRemovePeer(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 3 : "P1" } ,
received : map [ int64 ] p2p . NodeID { 2 : "P1" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 3 : "P1" } ,
received : map [ int64 ] types . NodeID { 2 : "P1" , 4 : "P1" } ,
} ,
args : args { peerID : "P1" } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateRemoved } } ,
allB : [ ] int64 { } ,
pending : map [ int64 ] p2p . NodeID { } ,
received : map [ int64 ] p2p . NodeID { } ,
pending : map [ int64 ] types . NodeID { } ,
received : map [ int64 ] types . NodeID { } ,
} ,
} ,
{
@ -471,8 +470,8 @@ func TestScRemovePeer(t *testing.T) {
"P2" : { height : 6 , state : peerStateReady } ,
} ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 3 : "P2" , 6 : "P1" } ,
received : map [ int64 ] p2p . NodeID { 2 : "P1" , 4 : "P2" , 5 : "P2" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 3 : "P2" , 6 : "P1" } ,
received : map [ int64 ] types . NodeID { 2 : "P1" , 4 : "P2" , 5 : "P2" } ,
} ,
args : args { peerID : "P1" } ,
wantFields : scTestParams {
@ -481,8 +480,8 @@ func TestScRemovePeer(t *testing.T) {
"P2" : { height : 6 , state : peerStateReady } ,
} ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 } ,
pending : map [ int64 ] p2p . NodeID { 3 : "P2" } ,
received : map [ int64 ] p2p . NodeID { 4 : "P2" , 5 : "P2" } ,
pending : map [ int64 ] types . NodeID { 3 : "P2" } ,
received : map [ int64 ] types . NodeID { 4 : "P2" , 5 : "P2" } ,
} ,
} ,
}
@ -501,7 +500,7 @@ func TestScRemovePeer(t *testing.T) {
func TestScSetPeerRange ( t * testing . T ) {
type args struct {
peerID p2p . NodeID
peerID types . NodeID
base int64
height int64
}
@ -622,25 +621,25 @@ func TestScGetPeersWithHeight(t *testing.T) {
name string
fields scTestParams
args args
wantResult [ ] p2p . NodeID
wantResult [ ] types . NodeID
} {
{
name : "no peers" ,
fields : scTestParams { peers : map [ string ] * scPeer { } } ,
args : args { height : 10 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "only new peers" ,
fields : scTestParams { peers : map [ string ] * scPeer { "P1" : { height : - 1 , state : peerStateNew } } } ,
args : args { height : 10 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "only Removed peers" ,
fields : scTestParams { peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateRemoved } } } ,
args : args { height : 2 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "one Ready shorter peer" ,
@ -649,7 +648,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
} ,
args : args { height : 5 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "one Ready equal peer" ,
@ -658,7 +657,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
} ,
args : args { height : 4 } ,
wantResult : [ ] p2p . NodeID { "P1" } ,
wantResult : [ ] types . NodeID { "P1" } ,
} ,
{
name : "one Ready higher peer" ,
@ -668,7 +667,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
} ,
args : args { height : 4 } ,
wantResult : [ ] p2p . NodeID { "P1" } ,
wantResult : [ ] types . NodeID { "P1" } ,
} ,
{
name : "one Ready higher peer at base" ,
@ -678,7 +677,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
} ,
args : args { height : 4 } ,
wantResult : [ ] p2p . NodeID { "P1" } ,
wantResult : [ ] types . NodeID { "P1" } ,
} ,
{
name : "one Ready higher peer with higher base" ,
@ -688,7 +687,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
} ,
args : args { height : 4 } ,
wantResult : [ ] p2p . NodeID { } ,
wantResult : [ ] types . NodeID { } ,
} ,
{
name : "multiple mixed peers" ,
@ -703,7 +702,7 @@ func TestScGetPeersWithHeight(t *testing.T) {
allB : [ ] int64 { 8 , 9 , 10 , 11 } ,
} ,
args : args { height : 8 } ,
wantResult : [ ] p2p . NodeID { "P2" , "P5" } ,
wantResult : [ ] types . NodeID { "P2" , "P5" } ,
} ,
}
@ -725,7 +724,7 @@ func TestScMarkPending(t *testing.T) {
now := time . Now ( )
type args struct {
peerID p2p . NodeID
peerID types . NodeID
height int64
tm time . Time
}
@ -821,14 +820,14 @@ func TestScMarkPending(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now } ,
} ,
args : args { peerID : "P1" , height : 2 , tm : now . Add ( time . Millisecond ) } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now . Add ( time . Millisecond ) } ,
} ,
} ,
@ -851,7 +850,7 @@ func TestScMarkReceived(t *testing.T) {
now := time . Now ( )
type args struct {
peerID p2p . NodeID
peerID types . NodeID
height int64
size int64
tm time . Time
@ -891,7 +890,7 @@ func TestScMarkReceived(t *testing.T) {
"P2" : { height : 4 , state : peerStateReady } ,
} ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P2" , 3 : "P2" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P2" , 3 : "P2" , 4 : "P1" } ,
} ,
args : args { peerID : "P1" , height : 2 , size : 1000 , tm : now } ,
wantFields : scTestParams {
@ -900,7 +899,7 @@ func TestScMarkReceived(t *testing.T) {
"P2" : { height : 4 , state : peerStateReady } ,
} ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P2" , 3 : "P2" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P2" , 3 : "P2" , 4 : "P1" } ,
} ,
wantErr : true ,
} ,
@ -909,13 +908,13 @@ func TestScMarkReceived(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { } ,
pending : map [ int64 ] types . NodeID { } ,
} ,
args : args { peerID : "P1" , height : 2 , size : 1000 , tm : now } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { } ,
pending : map [ int64 ] types . NodeID { } ,
} ,
wantErr : true ,
} ,
@ -924,14 +923,14 @@ func TestScMarkReceived(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now . Add ( time . Second ) } ,
} ,
args : args { peerID : "P1" , height : 2 , size : 1000 , tm : now } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now . Add ( time . Second ) } ,
} ,
wantErr : true ,
@ -941,16 +940,16 @@ func TestScMarkReceived(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now } ,
} ,
args : args { peerID : "P1" , height : 2 , size : 1000 , tm : now . Add ( time . Millisecond ) } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now } ,
received : map [ int64 ] p2p . NodeID { 2 : "P1" } ,
received : map [ int64 ] types . NodeID { 2 : "P1" } ,
} ,
} ,
}
@ -991,7 +990,7 @@ func TestScMarkProcessed(t *testing.T) {
height : 2 ,
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 2 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : now } ,
targetPending : 1 ,
} ,
@ -1009,15 +1008,15 @@ func TestScMarkProcessed(t *testing.T) {
height : 1 ,
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : now } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" } } ,
received : map [ int64 ] types . NodeID { 1 : "P1" } } ,
args : args { height : 1 } ,
wantFields : scTestParams {
height : 2 ,
peers : map [ string ] * scPeer { "P1" : { height : 2 , state : peerStateReady } } ,
allB : [ ] int64 { 2 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : now } } ,
} ,
}
@ -1101,7 +1100,7 @@ func TestScAllBlocksProcessed(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now , 3 : now , 4 : now } ,
} ,
wantResult : false ,
@ -1111,7 +1110,7 @@ func TestScAllBlocksProcessed(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
} ,
wantResult : false ,
} ,
@ -1122,7 +1121,7 @@ func TestScAllBlocksProcessed(t *testing.T) {
peers : map [ string ] * scPeer {
"P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 4 } ,
received : map [ int64 ] p2p . NodeID { 4 : "P1" } ,
received : map [ int64 ] types . NodeID { 4 : "P1" } ,
} ,
wantResult : true ,
} ,
@ -1131,7 +1130,7 @@ func TestScAllBlocksProcessed(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" , 4 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : now , 4 : now } ,
} ,
wantResult : false ,
@ -1179,7 +1178,7 @@ func TestScNextHeightToSchedule(t *testing.T) {
initHeight : 1 ,
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : now , 2 : now , 3 : now , 4 : now } ,
} ,
wantHeight : - 1 ,
@ -1190,7 +1189,7 @@ func TestScNextHeightToSchedule(t *testing.T) {
initHeight : 1 ,
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" , 4 : "P1" } ,
} ,
wantHeight : - 1 ,
} ,
@ -1209,7 +1208,7 @@ func TestScNextHeightToSchedule(t *testing.T) {
initHeight : 1 ,
peers : map [ string ] * scPeer { "P1" : { height : 4 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : now } ,
} ,
wantHeight : 1 ,
@ -1239,7 +1238,7 @@ func TestScSelectPeer(t *testing.T) {
name string
fields scTestParams
args args
wantResult p2p . NodeID
wantResult types . NodeID
wantError bool
} {
{
@ -1307,7 +1306,7 @@ func TestScSelectPeer(t *testing.T) {
"P1" : { height : 8 , state : peerStateReady } ,
"P2" : { height : 9 , state : peerStateReady } } ,
allB : [ ] int64 { 4 , 5 , 6 , 7 , 8 , 9 } ,
pending : map [ int64 ] p2p . NodeID {
pending : map [ int64 ] types . NodeID {
4 : "P1" , 6 : "P1" ,
5 : "P2" ,
} ,
@ -1323,7 +1322,7 @@ func TestScSelectPeer(t *testing.T) {
"P1" : { height : 15 , state : peerStateReady } ,
"P3" : { height : 15 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ,
pending : map [ int64 ] p2p . NodeID {
pending : map [ int64 ] types . NodeID {
1 : "P1" , 2 : "P1" ,
3 : "P3" , 4 : "P3" ,
5 : "P2" , 6 : "P2" ,
@ -1392,7 +1391,7 @@ func TestScHandleBlockResponse(t *testing.T) {
now := time . Now ( )
block6FromP1 := bcBlockResponse {
time : now . Add ( time . Millisecond ) ,
peerID : p2p . NodeID ( "P1" ) ,
peerID : types . NodeID ( "P1" ) ,
size : 100 ,
block : makeScBlock ( 6 ) ,
}
@ -1433,7 +1432,7 @@ func TestScHandleBlockResponse(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P2" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P2" } ,
pending : map [ int64 ] types . NodeID { 6 : "P2" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
args : args { event : block6FromP1 } ,
@ -1444,7 +1443,7 @@ func TestScHandleBlockResponse(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now . Add ( time . Second ) } ,
} ,
args : args { event : block6FromP1 } ,
@ -1455,7 +1454,7 @@ func TestScHandleBlockResponse(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
args : args { event : block6FromP1 } ,
@ -1477,7 +1476,7 @@ func TestScHandleNoBlockResponse(t *testing.T) {
now := time . Now ( )
noBlock6FromP1 := bcNoBlockResponse {
time : now . Add ( time . Millisecond ) ,
peerID : p2p . NodeID ( "P1" ) ,
peerID : types . NodeID ( "P1" ) ,
height : 6 ,
}
@ -1513,14 +1512,14 @@ func TestScHandleNoBlockResponse(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P2" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P2" } ,
pending : map [ int64 ] types . NodeID { 6 : "P2" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
wantEvent : noOpEvent { } ,
wantFields : scTestParams {
peers : map [ string ] * scPeer { "P2" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P2" } ,
pending : map [ int64 ] types . NodeID { 6 : "P2" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
} ,
@ -1529,7 +1528,7 @@ func TestScHandleNoBlockResponse(t *testing.T) {
fields : scTestParams {
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
wantEvent : scPeerError { peerID : "P1" , reason : fmt . Errorf ( "some error" ) } ,
@ -1552,7 +1551,7 @@ func TestScHandleNoBlockResponse(t *testing.T) {
func TestScHandleBlockProcessed ( t * testing . T ) {
now := time . Now ( )
processed6FromP1 := pcBlockProcessed {
peerID : p2p . NodeID ( "P1" ) ,
peerID : types . NodeID ( "P1" ) ,
height : 6 ,
}
@ -1579,7 +1578,7 @@ func TestScHandleBlockProcessed(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
args : args { event : processed6FromP1 } ,
@ -1591,7 +1590,7 @@ func TestScHandleBlockProcessed(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 7 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 } ,
received : map [ int64 ] p2p . NodeID { 6 : "P1" , 7 : "P1" } ,
received : map [ int64 ] types . NodeID { 6 : "P1" , 7 : "P1" } ,
} ,
args : args { event : processed6FromP1 } ,
wantEvent : scFinishedEv { } ,
@ -1602,8 +1601,8 @@ func TestScHandleBlockProcessed(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] types . NodeID { 6 : "P1" } ,
} ,
args : args { event : processed6FromP1 } ,
wantEvent : noOpEvent { } ,
@ -1646,7 +1645,7 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
args : args { event : pcBlockVerificationFailure { height : 10 , firstPeerID : "P1" , secondPeerID : "P1" } } ,
@ -1658,7 +1657,7 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } , "P2" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 6 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 6 : now } ,
} ,
args : args { event : pcBlockVerificationFailure { height : 10 , firstPeerID : "P1" , secondPeerID : "P1" } } ,
@ -1670,7 +1669,7 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
initHeight : 6 ,
peers : map [ string ] * scPeer { "P1" : { height : 7 , state : peerStateReady } } ,
allB : [ ] int64 { 6 , 7 } ,
received : map [ int64 ] p2p . NodeID { 6 : "P1" , 7 : "P1" } ,
received : map [ int64 ] types . NodeID { 6 : "P1" , 7 : "P1" } ,
} ,
args : args { event : pcBlockVerificationFailure { height : 7 , firstPeerID : "P1" , secondPeerID : "P1" } } ,
wantEvent : scFinishedEv { } ,
@ -1681,8 +1680,8 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
initHeight : 5 ,
peers : map [ string ] * scPeer { "P1" : { height : 8 , state : peerStateReady } , "P2" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] p2p . NodeID { 5 : "P1" , 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] types . NodeID { 5 : "P1" , 6 : "P1" } ,
} ,
args : args { event : pcBlockVerificationFailure { height : 5 , firstPeerID : "P1" , secondPeerID : "P1" } } ,
wantEvent : noOpEvent { } ,
@ -1697,8 +1696,8 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
"P3" : { height : 8 , state : peerStateReady } ,
} ,
allB : [ ] int64 { 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] p2p . NodeID { 5 : "P1" , 6 : "P1" } ,
pending : map [ int64 ] types . NodeID { 7 : "P1" , 8 : "P1" } ,
received : map [ int64 ] types . NodeID { 5 : "P1" , 6 : "P1" } ,
} ,
args : args { event : pcBlockVerificationFailure { height : 5 , firstPeerID : "P1" , secondPeerID : "P2" } } ,
wantEvent : noOpEvent { } ,
@ -1717,7 +1716,7 @@ func TestScHandleBlockVerificationFailure(t *testing.T) {
func TestScHandleAddNewPeer ( t * testing . T ) {
addP1 := bcAddNewPeer {
peerID : p2p . NodeID ( "P1" ) ,
peerID : types . NodeID ( "P1" ) ,
}
type args struct {
event bcAddNewPeer
@ -1828,7 +1827,7 @@ func TestScHandleTryPrunePeer(t *testing.T) {
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 } ,
peerTimeout : time . Second } ,
args : args { event : pruneEv } ,
wantEvent : scPeersPruned { peers : [ ] p2p . NodeID { "P4" , "P5" , "P6" } } ,
wantEvent : scPeersPruned { peers : [ ] types . NodeID { "P4" , "P5" , "P6" } } ,
} ,
{
name : "mixed peers, finish after pruning" ,
@ -1926,7 +1925,7 @@ func TestScHandleTrySchedule(t *testing.T) {
"P1" : { height : 4 , state : peerStateReady } ,
"P2" : { height : 5 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 } ,
pending : map [ int64 ] p2p . NodeID {
pending : map [ int64 ] types . NodeID {
1 : "P1" , 2 : "P1" ,
3 : "P2" ,
} ,
@ -1944,7 +1943,7 @@ func TestScHandleTrySchedule(t *testing.T) {
"P1" : { height : 8 , state : peerStateReady } ,
"P3" : { height : 8 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 } ,
pending : map [ int64 ] p2p . NodeID {
pending : map [ int64 ] types . NodeID {
1 : "P1" , 2 : "P1" ,
3 : "P3" , 4 : "P3" ,
5 : "P2" , 6 : "P2" ,
@ -2106,7 +2105,7 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : tick [ 1 ] } ,
height : 1 ,
} ,
@ -2118,7 +2117,7 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : tick [ 1 ] , 2 : tick [ 2 ] } ,
height : 1 ,
} ,
@ -2130,7 +2129,7 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
pending : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 1 : tick [ 1 ] , 2 : tick [ 2 ] , 3 : tick [ 3 ] } ,
height : 1 ,
} ,
@ -2142,9 +2141,9 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady , lastTouched : tick [ 4 ] } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 2 : "P1" , 3 : "P1" } ,
pending : map [ int64 ] types . NodeID { 2 : "P1" , 3 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 2 : tick [ 2 ] , 3 : tick [ 3 ] } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" } ,
height : 1 ,
} ,
} ,
@ -2155,9 +2154,9 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady , lastTouched : tick [ 5 ] } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
pending : map [ int64 ] p2p . NodeID { 3 : "P1" } ,
pending : map [ int64 ] types . NodeID { 3 : "P1" } ,
pendingTime : map [ int64 ] time . Time { 3 : tick [ 3 ] } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" } ,
height : 1 ,
} ,
} ,
@ -2168,29 +2167,29 @@ func TestScHandle(t *testing.T) {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady , lastTouched : tick [ 6 ] } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
height : 1 ,
} ,
} ,
{ // processed block 1
args : args { event : pcBlockProcessed { peerID : p2p . NodeID ( "P1" ) , height : 1 } } ,
args : args { event : pcBlockProcessed { peerID : types . NodeID ( "P1" ) , height : 1 } } ,
wantEvent : noOpEvent { } ,
wantSc : & scTestParams {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady , lastTouched : tick [ 6 ] } } ,
allB : [ ] int64 { 2 , 3 } ,
received : map [ int64 ] p2p . NodeID { 2 : "P1" , 3 : "P1" } ,
received : map [ int64 ] types . NodeID { 2 : "P1" , 3 : "P1" } ,
height : 2 ,
} ,
} ,
{ // processed block 2
args : args { event : pcBlockProcessed { peerID : p2p . NodeID ( "P1" ) , height : 2 } } ,
args : args { event : pcBlockProcessed { peerID : types . NodeID ( "P1" ) , height : 2 } } ,
wantEvent : scFinishedEv { } ,
wantSc : & scTestParams {
startTime : now ,
peers : map [ string ] * scPeer { "P1" : { height : 3 , state : peerStateReady , lastTouched : tick [ 6 ] } } ,
allB : [ ] int64 { 3 } ,
received : map [ int64 ] p2p . NodeID { 3 : "P1" } ,
received : map [ int64 ] types . NodeID { 3 : "P1" } ,
height : 3 ,
} ,
} ,
@ -2206,7 +2205,7 @@ func TestScHandle(t *testing.T) {
"P1" : { height : 4 , state : peerStateReady , lastTouched : tick [ 6 ] } ,
"P2" : { height : 3 , state : peerStateReady , lastTouched : tick [ 6 ] } } ,
allB : [ ] int64 { 1 , 2 , 3 , 4 } ,
received : map [ int64 ] p2p . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
received : map [ int64 ] types . NodeID { 1 : "P1" , 2 : "P1" , 3 : "P1" } ,
height : 1 ,
} ,
args : args { event : pcBlockVerificationFailure { height : 1 , firstPeerID : "P1" , secondPeerID : "P1" } } ,
@ -2217,7 +2216,7 @@ func TestScHandle(t *testing.T) {
"P1" : { height : 4 , state : peerStateRemoved , lastTouched : tick [ 6 ] } ,
"P2" : { height : 3 , state : peerStateReady , lastTouched : tick [ 6 ] } } ,
allB : [ ] int64 { 1 , 2 , 3 } ,
received : map [ int64 ] p2p . NodeID { } ,
received : map [ int64 ] types . NodeID { } ,
height : 1 ,
} ,
} ,