Fix block check in simulator (#1398)

## Issue Addressed

Closes #1397

## Proposed Changes

This race condition seemed to be cropping up a lot (again in #1381), so I figured I'd fix it ASAP
This commit is contained in:
Michael Sproul 2020-07-27 08:42:19 +00:00
parent 5680355b31
commit edf250cea9

View File

@ -136,11 +136,16 @@ pub async fn verify_full_block_production_up_to<E: EthSpec>(
slot_delay(slot, slot_duration).await;
let beacon_nodes = network.beacon_nodes.read();
let beacon_chain = beacon_nodes[0].client.beacon_chain().unwrap();
let chain_dump = beacon_chain.chain_dump().unwrap();
if chain_dump.len() != slot.as_usize() + 1 {
let num_blocks = beacon_chain
.chain_dump()
.unwrap()
.iter()
.take_while(|s| s.beacon_block.slot() <= slot)
.count();
if num_blocks != slot.as_usize() + 1 {
return Err(format!(
"There wasn't a block produced at every slot, got: {}, expected: {}",
chain_dump.len(),
num_blocks,
slot.as_usize() + 1
));
}