tank_tests/
lib.rs

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}