From df70ad06711c3853c0aaaeef90cfbf12b091be45 Mon Sep 17 00:00:00 2001 From: Gregory Edison Date: Sat, 17 Aug 2024 13:54:57 -0700 Subject: [PATCH 1/3] add tests for canon state tracker --- .../src/providers/blockchain_provider.rs | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/crates/storage/provider/src/providers/blockchain_provider.rs b/crates/storage/provider/src/providers/blockchain_provider.rs index f7cee4955c0a..23554f418dad 100644 --- a/crates/storage/provider/src/providers/blockchain_provider.rs +++ b/crates/storage/provider/src/providers/blockchain_provider.rs @@ -1487,9 +1487,9 @@ where #[cfg(test)] mod tests { - use std::{ops::Range, sync::Arc}; + use std::{ops::Range, sync::Arc, time::Instant}; - use itertools::Itertools; + use itertools::Itertools; use rand::Rng; use reth_chain_state::{ExecutedBlock, NewCanonicalChain}; use reth_chainspec::{ @@ -2356,4 +2356,29 @@ mod tests { Ok(()) } + + #[test] + fn test_canon_state_tracker() -> eyre::Result<()> { + let mut rng = generators::rng(); + let (provider, _, _, _) = + provider_with_random_blocks(&mut rng, TEST_BLOCKS_COUNT, TEST_BLOCKS_COUNT)?; + + let before = Instant::now(); + provider.on_forkchoice_update_received(&Default::default()); + let last_update_ts = provider.last_received_update_timestamp().unwrap(); + let after = Instant::now(); + + // Ensure the timestamp is updated and between the before and after timestamps + assert!(before < last_update_ts && last_update_ts < after); + + let before = Instant::now(); + provider.on_transition_configuration_exchanged(); + let last_update_ts = provider.last_exchanged_transition_configuration_timestamp().unwrap(); + let after = Instant::now(); + + // Ensure the timestamp is updated and between the before and after timestamps + assert!(before < last_update_ts && last_update_ts < after); + + Ok(()) + } } From 74995e23b3948306fad0b7d6f5245838729f2ae2 Mon Sep 17 00:00:00 2001 From: Gregory Edison Date: Wed, 21 Aug 2024 18:31:39 +0200 Subject: [PATCH 2/3] rebase --- .../src/providers/blockchain_provider.rs | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/crates/storage/provider/src/providers/blockchain_provider.rs b/crates/storage/provider/src/providers/blockchain_provider.rs index 23554f418dad..d8fe3842fdc2 100644 --- a/crates/storage/provider/src/providers/blockchain_provider.rs +++ b/crates/storage/provider/src/providers/blockchain_provider.rs @@ -1489,7 +1489,7 @@ where mod tests { use std::{ops::Range, sync::Arc, time::Instant}; - use itertools::Itertools; + use itertools::Itertools; use rand::Rng; use reth_chain_state::{ExecutedBlock, NewCanonicalChain}; use reth_chainspec::{ @@ -2357,28 +2357,28 @@ mod tests { Ok(()) } - #[test] - fn test_canon_state_tracker() -> eyre::Result<()> { - let mut rng = generators::rng(); - let (provider, _, _, _) = - provider_with_random_blocks(&mut rng, TEST_BLOCKS_COUNT, TEST_BLOCKS_COUNT)?; + #[test] + fn test_canon_state_tracker() -> eyre::Result<()> { + let mut rng = generators::rng(); + let (provider, _, _, _) = + provider_with_random_blocks(&mut rng, TEST_BLOCKS_COUNT, TEST_BLOCKS_COUNT)?; - let before = Instant::now(); - provider.on_forkchoice_update_received(&Default::default()); - let last_update_ts = provider.last_received_update_timestamp().unwrap(); - let after = Instant::now(); + let before = Instant::now(); + provider.on_forkchoice_update_received(&Default::default()); + let last_update_ts = provider.last_received_update_timestamp().unwrap(); + let after = Instant::now(); - // Ensure the timestamp is updated and between the before and after timestamps - assert!(before < last_update_ts && last_update_ts < after); + // Ensure the timestamp is updated and between the before and after timestamps + assert!(before < last_update_ts && last_update_ts < after); - let before = Instant::now(); - provider.on_transition_configuration_exchanged(); - let last_update_ts = provider.last_exchanged_transition_configuration_timestamp().unwrap(); - let after = Instant::now(); + let before = Instant::now(); + provider.on_transition_configuration_exchanged(); + let last_update_ts = provider.last_exchanged_transition_configuration_timestamp().unwrap(); + let after = Instant::now(); - // Ensure the timestamp is updated and between the before and after timestamps - assert!(before < last_update_ts && last_update_ts < after); + // Ensure the timestamp is updated and between the before and after timestamps + assert!(before < last_update_ts && last_update_ts < after); - Ok(()) - } + Ok(()) + } } From 9f184956d79217014b26caa262466cad4e78c3df Mon Sep 17 00:00:00 2001 From: Gregory Edison Date: Thu, 22 Aug 2024 09:17:10 +0200 Subject: [PATCH 3/3] rebase --- crates/storage/provider/src/providers/blockchain_provider.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/storage/provider/src/providers/blockchain_provider.rs b/crates/storage/provider/src/providers/blockchain_provider.rs index d8fe3842fdc2..87c0afa332fa 100644 --- a/crates/storage/provider/src/providers/blockchain_provider.rs +++ b/crates/storage/provider/src/providers/blockchain_provider.rs @@ -2361,7 +2361,7 @@ mod tests { fn test_canon_state_tracker() -> eyre::Result<()> { let mut rng = generators::rng(); let (provider, _, _, _) = - provider_with_random_blocks(&mut rng, TEST_BLOCKS_COUNT, TEST_BLOCKS_COUNT)?; + provider_with_random_blocks(&mut rng, TEST_BLOCKS_COUNT, TEST_BLOCKS_COUNT, None)?; let before = Instant::now(); provider.on_forkchoice_update_received(&Default::default());