1mod aggregates;
2mod books;
3mod complex;
4mod documentation;
5mod insane;
6mod limits;
7mod multiple;
8mod readme;
9mod simple;
10mod trade;
11mod transaction1;
12mod user;
13
14use std::env;
15
16use crate::{
17 books::books,
18 complex::complex,
19 documentation::documentation,
20 insane::insane,
21 limits::limits,
22 multiple::multiple,
23 simple::simple,
24 trade::{trade_multiple, trade_simple},
25 transaction1::transaction1,
26 user::users,
27};
28use aggregates::aggregates;
29use log::LevelFilter;
30use readme::readme;
31use tank::Connection;
32
33pub fn init_logs() {
34 let mut logger = env_logger::builder();
35 logger
36 .is_test(true)
37 .format_file(true)
38 .format_line_number(true);
39 if env::var("RUST_LOG").is_err() {
40 logger.filter_level(LevelFilter::Warn);
41 }
42 let _ = logger.try_init();
43}
44
45pub async fn execute_tests<C: Connection>(mut connection: C) {
46 simple(&mut connection).await;
47 trade_simple(&mut connection).await;
48 trade_multiple(&mut connection).await;
49 users(&mut connection).await;
50 aggregates(&mut connection).await;
51 books(&mut connection).await;
52 complex(&mut connection).await;
53 insane(&mut connection).await;
54 limits(&mut connection).await;
55 multiple(&mut connection).await;
56 #[cfg(not(feature = "disable-transactions"))]
57 transaction1(&mut connection).await;
58 drop(readme(&mut connection).await);
59 documentation(&mut connection).await;
60}
61
62#[macro_export]
63macro_rules! silent_logs {
64 ($($code:tt)+) => {{
65 let level = log::max_level();
66 log::set_max_level(log::LevelFilter::Off);
67 $($code)+
68 log::set_max_level(level);
69 }};
70}