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