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}