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