()
| 8 | |
| 9 | #[tokio::test] |
| 10 | async fn main() -> Result<()> { |
| 11 | let testcase = "iter_repeat"; |
| 12 | let (producer, consumer) = setup(testcase).await?; |
| 13 | |
| 14 | let debugger_params = debugger_params_from_file(testcase); |
| 15 | |
| 16 | // println!("{:#?}", debugger_params.breakpoints); |
| 17 | |
| 18 | Debugger::run(debugger_params, producer.clone()); |
| 19 | |
| 20 | producer.end().await?; |
| 21 | |
| 22 | for i in 0..8 { |
| 23 | let payload = consumer.next().await?.message().into_bytes(); |
| 24 | let event = EventStream::read_from(Bytes::from(payload)); |
| 25 | println!("#{i} {:?}", event); |
| 26 | |
| 27 | match &event { |
| 28 | Event::Breakpoint { .. } => (), |
| 29 | Event::FunctionCall { function_name, .. } => { |
| 30 | assert_eq!( |
| 31 | function_name, |
| 32 | match i { |
| 33 | 0 => "iter_repeat::main", |
| 34 | 1 => "iter_repeat::run", |
| 35 | 2 => "iter_repeat::iter", |
| 36 | 4 => "iter_repeat::iter", |
| 37 | _ => panic!("Unexpected i {i}"), |
| 38 | } |
| 39 | ); |
| 40 | } |
| 41 | Event::FunctionReturn { function_name, .. } => { |
| 42 | assert_eq!( |
| 43 | function_name, |
| 44 | match i { |
| 45 | 3 => "iter_repeat::iter", |
| 46 | 5 => "iter_repeat::iter", |
| 47 | 6 => "iter_repeat::run", |
| 48 | 7 => "iter_repeat::main", |
| 49 | _ => panic!("Unexpected i {i}"), |
| 50 | } |
| 51 | ); |
| 52 | } |
| 53 | } |
| 54 | } |
| 55 | |
| 56 | Ok(()) |
| 57 | } |
nothing calls this directly
no test coverage detected