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