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