MCPcopy Create free account
hub / github.com/SeaQL/FireDBG.for.Rust / main

Function main

debugger/tests/sea_query.rs:10–78  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8
9#[tokio::test]
10async fn main() -> Result<()> {
11 let testcase = "sea_query";
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..46 {
23 let payload = consumer.next().await?.message().into_bytes();
24 let event = EventStream::read_from(Bytes::from(payload));
25 // println!("#{i} {:?}", event);
26 match event {
27 Event::FunctionCall {
28 function_name,
29 mut arguments,
30 ..
31 } => {
32 arguments.iter_mut().for_each(|(_, val)| val.redact_addr());
33 let json = serde_json::to_string(&arguments).unwrap();
34 match i {
35 0 => assert_eq!(function_name, "sea_query::main"),
36 1 => assert_eq!(function_name, "sea_query::Query::select"),
37 2 => assert_eq!(function_name, "sea_query::SelectStatement::new"),
38 _ => (),
39 }
40 match i {
41 0..=2 => assert_eq!(json, r#"[]"#),
42 _ => (),
43 }
44 println!("[{i}] {function_name}() -> {arguments:?}");
45 }
46 Event::FunctionReturn {
47 function_name,
48 mut return_value,
49 ..
50 } => {
51 return_value.redact_addr();
52 let json = serde_json::to_string(&return_value).unwrap();
53 match i {
54 3 => assert_eq!(function_name, "sea_query::SelectStatement::new"),
55 4 => assert_eq!(function_name, "sea_query::Query::select"),
56 45 => assert_eq!(function_name, "sea_query::main"),
57 _ => (),
58 }
59 match i {
60 3 => assert_eq!(
61 json,
62 r#"{"type":"Struct","typename":"sea_query::SelectStatement","fields":{"selects":{"type":"Array","typename":"vec","data":[]},"from":{"type":"Array","typename":"vec","data":[]}}}"#
63 ),
64 4 => assert_eq!(
65 json,
66 r#"{"type":"Struct","typename":"sea_query::SelectStatement","fields":{"selects":{"type":"Array","typename":"vec","data":[]},"from":{"type":"Array","typename":"vec","data":[]}}}"#
67 ),

Callers

nothing calls this directly

Calls 7

setupFunction · 0.85
into_bytesMethod · 0.80
nextMethod · 0.80
redact_addrMethod · 0.80
runFunction · 0.50
endMethod · 0.45

Tested by

no test coverage detected