tank_tests/
lib.rs

1mod aggregates;
2mod arrays1;
3mod arrays2;
4mod books;
5mod complex;
6mod insane;
7mod interval;
8mod limits;
9mod metrics;
10mod multiple;
11mod operations;
12mod orders;
13mod readme;
14mod shopping;
15mod simple;
16mod time;
17mod trade;
18mod transaction1;
19mod user;
20
21pub use aggregates::*;
22pub use arrays1::*;
23pub use arrays2::*;
24pub use books::*;
25pub use complex::*;
26pub use insane::*;
27pub use interval::*;
28pub use limits::*;
29use log::LevelFilter;
30pub use metrics::*;
31pub use multiple::*;
32pub use operations::*;
33pub use orders::*;
34pub use readme::*;
35pub use shopping::*;
36pub use simple::*;
37use std::env;
38use tank::Connection;
39pub use time::*;
40pub use trade::*;
41pub use transaction1::*;
42pub use user::*;
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    #[cfg(not(feature = "disable-multiple-statements"))]
67    multiple(&mut connection).await;
68    #[cfg(not(feature = "disable-intervals"))]
69    interval(&mut connection).await;
70    #[cfg(not(feature = "disable-arrays"))]
71    arrays1(&mut connection).await;
72    #[cfg(not(feature = "disable-arrays"))]
73    arrays2(&mut connection).await;
74    #[cfg(not(feature = "disable-transactions"))]
75    transaction1(&mut connection).await;
76    shopping(&mut connection).await;
77    orders(&mut connection).await;
78    times(&mut connection).await;
79    readme(&mut connection)
80        .await
81        .expect("Readme examples test did not succeed");
82    operations(&mut connection)
83        .await
84        .expect("Operations examples test did not succeed");
85    advanced_operations(&mut connection)
86        .await
87        .expect("Advanced operations examples test did not succeed");
88    metrics(&mut connection).await;
89}
90
91#[macro_export]
92macro_rules! silent_logs {
93    ($($code:tt)+) => {{
94        let level = log::max_level();
95        log::set_max_level(log::LevelFilter::Off);
96        $($code)+
97        log::set_max_level(level);
98    }};
99}