fixup! Fix block lookup debug tests

This commit is contained in:
Emilia Hane 2023-01-26 19:32:41 +01:00
parent 6beca6defc
commit 7545ae9e9b
No known key found for this signature in database
GPG Key ID: E73394F9C09206FA

View File

@ -9,11 +9,12 @@ use super::*;
use beacon_chain::{ use beacon_chain::{
builder::Witness, builder::Witness,
eth1_chain::CachingEth1Backend, eth1_chain::CachingEth1Backend,
test_utils::{BeaconChainHarness, EphemeralSystemTimeSlotClockHarnessType as HarnessType}, test_utils::{
build_log, BeaconChainHarness, EphemeralSystemTimeSlotClockHarnessType as HarnessType,
},
}; };
pub use genesis::{interop_genesis_state, DEFAULT_ETH1_BLOCK_HASH}; pub use genesis::{interop_genesis_state, DEFAULT_ETH1_BLOCK_HASH};
use lighthouse_network::{NetworkGlobals, Request}; use lighthouse_network::{NetworkGlobals, Request};
use slog::{Drain, Level};
use slot_clock::SystemTimeSlotClock; use slot_clock::SystemTimeSlotClock;
use std::time::Duration; use std::time::Duration;
use store::MemoryStore; use store::MemoryStore;
@ -34,24 +35,14 @@ struct TestRig {
const D: Duration = Duration::new(0, 0); const D: Duration = Duration::new(0, 0);
impl TestRig { impl TestRig {
fn test_setup(log_level: Option<Level>) -> (BlockLookups<T>, SyncNetworkContext<T>, Self) { fn test_setup(enable_log: bool) -> (BlockLookups<T>, SyncNetworkContext<T>, Self) {
let log = { let log = build_log(slog::Level::Debug, enable_log);
let decorator = slog_term::TermDecorator::new().build();
let drain = slog_term::FullFormat::new(decorator).build().fuse();
let drain = slog_async::Async::new(drain).build().fuse();
if let Some(log_level) = log_level {
slog::Logger::root(drain.filter_level(log_level).fuse(), slog::o!())
} else {
slog::Logger::root(drain.filter(|_| false).fuse(), slog::o!())
}
};
// Initialise a new beacon chain // Initialise a new beacon chain
let harness = BeaconChainHarness::<HarnessType<E>>::builder(E::default()) let harness = BeaconChainHarness::<HarnessType<E>>::builder(E::default())
.default_spec() .default_spec()
.logger(log.clone()) .logger(log.clone())
.deterministic_keypairs(8) .deterministic_keypairs(1)
.fresh_ephemeral_store() .fresh_ephemeral_store()
.build(); .build();
@ -164,7 +155,7 @@ impl TestRig {
#[test] #[test]
fn test_single_block_lookup_happy_path() { fn test_single_block_lookup_happy_path() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block = rig.rand_block(); let block = rig.rand_block();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -192,7 +183,7 @@ fn test_single_block_lookup_happy_path() {
#[test] #[test]
fn test_single_block_lookup_empty_response() { fn test_single_block_lookup_empty_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block_hash = Hash256::random(); let block_hash = Hash256::random();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -210,7 +201,7 @@ fn test_single_block_lookup_empty_response() {
#[test] #[test]
fn test_single_block_lookup_wrong_response() { fn test_single_block_lookup_wrong_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block_hash = Hash256::random(); let block_hash = Hash256::random();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -232,7 +223,7 @@ fn test_single_block_lookup_wrong_response() {
#[test] #[test]
fn test_single_block_lookup_failure() { fn test_single_block_lookup_failure() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block_hash = Hash256::random(); let block_hash = Hash256::random();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -249,7 +240,7 @@ fn test_single_block_lookup_failure() {
#[test] #[test]
fn test_single_block_lookup_becomes_parent_request() { fn test_single_block_lookup_becomes_parent_request() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block = rig.rand_block(); let block = rig.rand_block();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -278,7 +269,7 @@ fn test_single_block_lookup_becomes_parent_request() {
#[test] #[test]
fn test_parent_lookup_happy_path() { fn test_parent_lookup_happy_path() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -306,7 +297,7 @@ fn test_parent_lookup_happy_path() {
#[test] #[test]
fn test_parent_lookup_wrong_response() { fn test_parent_lookup_wrong_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -343,7 +334,7 @@ fn test_parent_lookup_wrong_response() {
#[test] #[test]
fn test_parent_lookup_empty_response() { fn test_parent_lookup_empty_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -375,7 +366,7 @@ fn test_parent_lookup_empty_response() {
#[test] #[test]
fn test_parent_lookup_rpc_failure() { fn test_parent_lookup_rpc_failure() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -414,7 +405,7 @@ fn test_parent_lookup_rpc_failure() {
#[test] #[test]
fn test_parent_lookup_too_many_attempts() { fn test_parent_lookup_too_many_attempts() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -458,7 +449,7 @@ fn test_parent_lookup_too_many_attempts() {
#[test] #[test]
fn test_parent_lookup_too_many_download_attempts_no_blacklist() { fn test_parent_lookup_too_many_download_attempts_no_blacklist() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -500,7 +491,7 @@ fn test_parent_lookup_too_many_download_attempts_no_blacklist() {
#[test] #[test]
fn test_parent_lookup_too_many_processing_attempts_must_blacklist() { fn test_parent_lookup_too_many_processing_attempts_must_blacklist() {
const PROCESSING_FAILURES: u8 = parent_lookup::PARENT_FAIL_TOLERANCE / 2 + 1; const PROCESSING_FAILURES: u8 = parent_lookup::PARENT_FAIL_TOLERANCE / 2 + 1;
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = Arc::new(rig.rand_block()); let parent = Arc::new(rig.rand_block());
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -542,7 +533,7 @@ fn test_parent_lookup_too_many_processing_attempts_must_blacklist() {
#[test] #[test]
fn test_parent_lookup_too_deep() { fn test_parent_lookup_too_deep() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let mut blocks = let mut blocks =
Vec::<SignedBeaconBlock<E>>::with_capacity(parent_lookup::PARENT_DEPTH_TOLERANCE); Vec::<SignedBeaconBlock<E>>::with_capacity(parent_lookup::PARENT_DEPTH_TOLERANCE);
while blocks.len() < parent_lookup::PARENT_DEPTH_TOLERANCE { while blocks.len() < parent_lookup::PARENT_DEPTH_TOLERANCE {
@ -581,7 +572,7 @@ fn test_parent_lookup_too_deep() {
#[test] #[test]
fn test_parent_lookup_disconnection() { fn test_parent_lookup_disconnection() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let peer_id = PeerId::random(); let peer_id = PeerId::random();
let trigger_block = rig.rand_block(); let trigger_block = rig.rand_block();
bl.search_parent( bl.search_parent(
@ -596,7 +587,7 @@ fn test_parent_lookup_disconnection() {
#[test] #[test]
fn test_single_block_lookup_ignored_response() { fn test_single_block_lookup_ignored_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let block = rig.rand_block(); let block = rig.rand_block();
let peer_id = PeerId::random(); let peer_id = PeerId::random();
@ -625,7 +616,7 @@ fn test_single_block_lookup_ignored_response() {
#[test] #[test]
fn test_parent_lookup_ignored_response() { fn test_parent_lookup_ignored_response() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(None); let (mut bl, mut cx, mut rig) = TestRig::test_setup(false);
let parent = rig.rand_block(); let parent = rig.rand_block();
let block = rig.block_with_parent(parent.canonical_root()); let block = rig.block_with_parent(parent.canonical_root());
@ -650,7 +641,7 @@ fn test_parent_lookup_ignored_response() {
/// This is a regression test. /// This is a regression test.
#[test] #[test]
fn test_same_chain_race_condition() { fn test_same_chain_race_condition() {
let (mut bl, mut cx, mut rig) = TestRig::test_setup(Some(Level::Debug)); let (mut bl, mut cx, mut rig) = TestRig::test_setup(true);
#[track_caller] #[track_caller]
fn parent_lookups_consistency(bl: &BlockLookups<T>) { fn parent_lookups_consistency(bl: &BlockLookups<T>) {