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}