tank_tests/
lib.rs

1mod aggregates;
2mod arrays1;
3mod arrays2;
4mod books;
5mod complex;
6mod insane;
7mod interval;
8mod limits;
9mod multiple;
10mod operations;
11mod orders;
12mod readme;
13mod shopping;
14mod simple;
15mod time;
16mod trade;
17mod transaction1;
18mod user;
19
20use crate::{
21    books::books,
22    complex::complex,
23    insane::insane,
24    limits::limits,
25    operations::{advanced_operations, operations},
26    orders::orders,
27    shopping::shopping,
28    simple::simple,
29    time::times,
30    trade::{trade_multiple, trade_simple},
31    transaction1::transaction1,
32    user::users,
33};
34use aggregates::aggregates;
35
36#[cfg(not(feature = "disable-arrays"))]
37use arrays1::arrays1;
38#[cfg(not(feature = "disable-arrays"))]
39use arrays2::arrays2;
40#[cfg(not(feature = "disable-intervals"))]
41use interval::interval;
42use log::LevelFilter;
43#[cfg(not(feature = "disable-multiple-statements"))]
44use multiple::multiple;
45use readme::readme;
46use std::env;
47use tank::Connection;
48
49pub fn init_logs() {
50    let mut logger = env_logger::builder();
51    logger
52        .is_test(true)
53        .format_file(true)
54        .format_line_number(true);
55    if env::var("RUST_LOG").is_err() {
56        logger.filter_level(LevelFilter::Warn);
57    }
58    let _ = logger.try_init();
59}
60
61pub async fn execute_tests<C: Connection>(mut connection: C) {
62    simple(&mut connection).await;
63    trade_simple(&mut connection).await;
64    trade_multiple(&mut connection).await;
65    users(&mut connection).await;
66    aggregates(&mut connection).await;
67    books(&mut connection).await;
68    complex(&mut connection).await;
69    insane(&mut connection).await;
70    limits(&mut connection).await;
71    #[cfg(not(feature = "disable-multiple-statements"))]
72    multiple(&mut connection).await;
73    #[cfg(not(feature = "disable-transactions"))]
74    transaction1(&mut connection).await;
75    #[cfg(not(feature = "disable-intervals"))]
76    interval(&mut connection).await;
77    #[cfg(not(feature = "disable-arrays"))]
78    arrays1(&mut connection).await;
79    #[cfg(not(feature = "disable-arrays"))]
80    arrays2(&mut connection).await;
81    shopping(&mut connection).await;
82    orders(&mut connection).await;
83    times(&mut connection).await;
84    readme(&mut connection)
85        .await
86        .expect("Readme examples test did not succeed");
87    operations(&mut connection)
88        .await
89        .expect("Operations examples test did not succeed");
90    advanced_operations(&mut connection)
91        .await
92        .expect("Advanced operations examples test did not succeed")
93}
94
95#[macro_export]
96macro_rules! silent_logs {
97    ($($code:tt)+) => {{
98        let level = log::max_level();
99        log::set_max_level(log::LevelFilter::Off);
100        $($code)+
101        log::set_max_level(level);
102    }};
103}