More sync and propagation fixes
This commit is contained in:
@@ -109,7 +109,7 @@ fn status_empty() {
|
||||
#[test]
|
||||
fn status_packet() {
|
||||
let mut net = TestNet::new(2);
|
||||
net.peer_mut(0).chain.add_blocks(1000, false);
|
||||
net.peer_mut(0).chain.add_blocks(100, false);
|
||||
net.peer_mut(1).chain.add_blocks(1, false);
|
||||
|
||||
net.start();
|
||||
@@ -122,18 +122,29 @@ fn status_packet() {
|
||||
|
||||
#[test]
|
||||
fn propagade_hashes() {
|
||||
let mut net = TestNet::new(3);
|
||||
net.peer_mut(1).chain.add_blocks(1000, false);
|
||||
net.peer_mut(2).chain.add_blocks(1000, false);
|
||||
let mut net = TestNet::new(6);
|
||||
net.peer_mut(1).chain.add_blocks(10, false);
|
||||
net.sync();
|
||||
|
||||
net.peer_mut(0).chain.add_blocks(10, false);
|
||||
net.sync_step_peer(0);
|
||||
net.sync();
|
||||
net.trigger_block_verified(0); //first event just sets the marker
|
||||
net.trigger_block_verified(0);
|
||||
|
||||
// 2 peers to sync
|
||||
assert_eq!(2, net.peer(0).queue.len());
|
||||
// NEW_BLOCK_HASHES_PACKET
|
||||
assert_eq!(0x01, net.peer(0).queue[0].packet_id);
|
||||
// 5 peers to sync
|
||||
assert_eq!(5, net.peer(0).queue.len());
|
||||
let mut hashes = 0;
|
||||
let mut blocks = 0;
|
||||
for i in 0..5 {
|
||||
if net.peer(0).queue[i].packet_id == 0x1 {
|
||||
hashes += 1;
|
||||
}
|
||||
if net.peer(0).queue[i].packet_id == 0x7 {
|
||||
blocks += 1;
|
||||
}
|
||||
}
|
||||
assert!(blocks > 0);
|
||||
assert!(hashes > 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -143,6 +154,7 @@ fn propagade_blocks() {
|
||||
net.sync();
|
||||
|
||||
net.peer_mut(0).chain.add_blocks(10, false);
|
||||
net.trigger_block_verified(0); //first event just sets the marker
|
||||
net.trigger_block_verified(0);
|
||||
|
||||
assert!(!net.peer(0).queue.is_empty());
|
||||
|
||||
Reference in New Issue
Block a user