1mod aggregates;
2mod arrays1;
3mod arrays2;
4mod books;
5mod complex;
6mod insane;
7mod interval;
8mod limits;
9mod multiple;
10mod operations;
11mod readme;
12mod shopping;
13mod simple;
14mod trade;
15mod transaction1;
16mod user;
17
18use crate::{
19 books::books,
20 complex::complex,
21 insane::insane,
22 limits::limits,
23 multiple::multiple,
24 operations::{advanced_operations, operations},
25 shopping::shopping,
26 simple::simple,
27 trade::{trade_multiple, trade_simple},
28 transaction1::transaction1,
29 user::users,
30};
31use aggregates::aggregates;
32
33#[cfg(not(feature = "disable-arrays"))]
34use arrays1::arrays1;
35#[cfg(not(feature = "disable-arrays"))]
36use arrays2::arrays2;
37#[cfg(not(feature = "disable-intervals"))]
38use interval::interval;
39use log::LevelFilter;
40use readme::readme;
41use std::env;
42use tank::Connection;
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 multiple(&mut connection).await;
67 #[cfg(not(feature = "disable-transactions"))]
68 transaction1(&mut connection).await;
69 #[cfg(not(feature = "disable-intervals"))]
70 interval(&mut connection).await;
71 #[cfg(not(feature = "disable-arrays"))]
72 arrays1(&mut connection).await;
73 #[cfg(not(feature = "disable-arrays"))]
74 arrays2(&mut connection).await;
75 shopping(&mut connection).await;
76 readme(&mut connection)
77 .await
78 .expect("Readme examples test did not succeed");
79 operations(&mut connection)
80 .await
81 .expect("Operations examples test did not succeed");
82 advanced_operations(&mut connection)
83 .await
84 .expect("Advanced operations examples test did not succeed")
85}
86
87#[macro_export]
88macro_rules! silent_logs {
89 ($($code:tt)+) => {{
90 let level = log::max_level();
91 log::set_max_level(log::LevelFilter::Off);
92 $($code)+
93 log::set_max_level(level);
94 }};
95}