Skip to main content

tank_tests/
lib.rs

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