Skip to content

Commit

Permalink
feat: frame queue test asserter (#619)
Browse files Browse the repository at this point in the history
  • Loading branch information
refcell authored Oct 21, 2024
1 parent 8513e20 commit ace8464
Show file tree
Hide file tree
Showing 7 changed files with 381 additions and 278 deletions.
27 changes: 21 additions & 6 deletions crates/derive/src/stages/channel/channel_assembler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ mod test {
use super::ChannelAssembler;
use crate::{
prelude::PipelineError,
stages::{frame_queue::tests::new_test_frames, ChannelReaderProvider},
stages::ChannelReaderProvider,
test_utils::{CollectingLayer, TestNextFrameProvider, TraceStorage},
};
use alloc::sync::Arc;
Expand All @@ -217,7 +217,10 @@ mod test {
let layer = CollectingLayer::new(trace_store.clone());
tracing_subscriber::Registry::default().with(layer).init();

let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let mock = TestNextFrameProvider::new(frames.into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
let mut assembler = ChannelAssembler::new(cfg, mock);
Expand Down Expand Up @@ -255,7 +258,10 @@ mod test {

#[tokio::test]
async fn test_assembler_non_starting_frame() {
let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let mock = TestNextFrameProvider::new(frames.into_iter().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
let mut assembler = ChannelAssembler::new(cfg, mock);
Expand All @@ -273,7 +279,10 @@ mod test {
let layer = CollectingLayer::new(trace_store.clone());
tracing_subscriber::Registry::default().with(layer).init();

let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let mock = TestNextFrameProvider::new(frames.clone().into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
let mut assembler = ChannelAssembler::new(cfg, mock);
Expand Down Expand Up @@ -308,7 +317,10 @@ mod test {
let layer = CollectingLayer::new(trace_store.clone());
tracing_subscriber::Registry::default().with(layer).init();

let mut frames = new_test_frames(2);
let mut frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
frames[1].data = vec![0; MAX_RLP_BYTES_PER_CHANNEL_BEDROCK as usize];
let mock = TestNextFrameProvider::new(frames.into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
Expand Down Expand Up @@ -339,7 +351,10 @@ mod test {
let layer = CollectingLayer::new(trace_store.clone());
tracing_subscriber::Registry::default().with(layer).init();

let mut frames = new_test_frames(2);
let mut frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
frames[1].data = vec![0; MAX_RLP_BYTES_PER_CHANNEL_FJORD as usize];
let mock = TestNextFrameProvider::new(frames.into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig { fjord_time: Some(0), ..Default::default() });
Expand Down
16 changes: 8 additions & 8 deletions crates/derive/src/stages/channel/channel_bank.rs
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,6 @@ where
mod tests {
use super::*;
use crate::{
stages::frame_queue::tests::new_test_frames,
test_utils::{CollectingLayer, TestNextFrameProvider, TraceStorage},
traits::ResetSignal,
};
Expand All @@ -287,7 +286,7 @@ mod tests {

#[test]
fn test_channel_bank_into_prev() {
let frames = new_test_frames(1);
let frames = [crate::frame!(0xFF, 0, vec![0xDD; 50], true)];
let mock = TestNextFrameProvider::new(frames.into_iter().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
let channel_bank = ChannelBank::new(cfg, mock);
Expand Down Expand Up @@ -485,8 +484,7 @@ mod tests {

#[test]
fn test_ingest_and_prune_channel_bank() {
use alloc::vec::Vec;
let mut frames: Vec<Frame> = new_test_frames(100000);
let mut frames = crate::frames!(0xFF, 0, vec![0xDD; 50], 100000);
let mock = TestNextFrameProvider::new(vec![]);
let cfg = Arc::new(RollupConfig::default());
let mut channel_bank = ChannelBank::new(cfg, mock);
Expand All @@ -511,8 +509,7 @@ mod tests {

#[test]
fn test_ingest_and_prune_channel_bank_fjord() {
use alloc::vec::Vec;
let mut frames: Vec<Frame> = new_test_frames(100000);
let mut frames = crate::frames!(0xFF, 0, vec![0xDD; 50], 100000);
let mock = TestNextFrameProvider::new(vec![]);
let cfg = Arc::new(RollupConfig { fjord_time: Some(0), ..Default::default() });
let mut channel_bank = ChannelBank::new(cfg, mock);
Expand All @@ -537,7 +534,7 @@ mod tests {

#[tokio::test]
async fn test_read_empty_channel_bank() {
let frames = new_test_frames(1);
let frames = [crate::frame!(0xFF, 0, vec![0xDD; 50], true)];
let mock = TestNextFrameProvider::new(vec![Ok(frames[0].clone())]);
let cfg = Arc::new(RollupConfig::default());
let mut channel_bank = ChannelBank::new(cfg, mock);
Expand All @@ -556,7 +553,10 @@ mod tests {
const ROLLUP_CONFIGS: [RollupConfig; 2] = [OP_MAINNET_CONFIG, BASE_MAINNET_CONFIG];

for cfg in ROLLUP_CONFIGS {
let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let mock = TestNextFrameProvider::new(frames.into_iter().map(Ok).collect::<Vec<_>>());
let cfg = Arc::new(cfg);
let mut channel_bank = ChannelBank::new(cfg.clone(), mock);
Expand Down
12 changes: 9 additions & 3 deletions crates/derive/src/stages/channel/channel_provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ mod test {
use super::{ActiveStage, ChannelProvider};
use crate::{
prelude::{OriginProvider, PipelineError},
stages::{frame_queue::tests::new_test_frames, ChannelReaderProvider},
stages::ChannelReaderProvider,
test_utils::TestNextFrameProvider,
traits::{ResetSignal, SignalReceiver},
};
Expand Down Expand Up @@ -153,7 +153,10 @@ mod test {

#[tokio::test]
async fn test_channel_provider_reset_bank() {
let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let provider = TestNextFrameProvider::new(frames.into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig::default());
let mut channel_provider = ChannelProvider::new(cfg.clone(), provider);
Expand Down Expand Up @@ -181,7 +184,10 @@ mod test {

#[tokio::test]
async fn test_channel_provider_reset_assembler() {
let frames = new_test_frames(2);
let frames = [
crate::frame!(0xFF, 0, vec![0xDD; 50], false),
crate::frame!(0xFF, 1, vec![0xDD; 50], true),
];
let provider = TestNextFrameProvider::new(frames.into_iter().rev().map(Ok).collect());
let cfg = Arc::new(RollupConfig { holocene_time: Some(0), ..Default::default() });
let mut channel_provider = ChannelProvider::new(cfg.clone(), provider);
Expand Down
Loading

0 comments on commit ace8464

Please sign in to comment.