tank_tests/
lib.rs

1mod aggregates;
2mod arrays1;
3mod arrays2;
4mod books;
5mod complex;
6mod full1;
7mod insane;
8mod interval;
9mod limits;
10mod multiple;
11mod operations;
12mod readme;
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::operations,
25    simple::simple,
26    trade::{trade_multiple, trade_simple},
27    transaction1::transaction1,
28    user::users,
29};
30use aggregates::aggregates;
31
32#[cfg(not(feature = "disable-arrays"))]
33use arrays1::arrays1;
34#[cfg(not(feature = "disable-arrays"))]
35use arrays2::arrays2;
36#[cfg(not(feature = "disable-intervals"))]
37use interval::interval;
38use log::LevelFilter;
39use readme::readme;
40use std::env;
41use tank::Connection;
42
43pub fn init_logs() {
44    let mut logger = env_logger::builder();
45    logger
46        .is_test(true)
47        .format_file(true)
48        .format_line_number(true);
49    if env::var("RUST_LOG").is_err() {
50        logger.filter_level(LevelFilter::Warn);
51    }
52    let _ = logger.try_init();
53}
54
55pub async fn execute_tests<C: Connection>(mut connection: C) {
56    simple(&mut connection).await;
57    trade_simple(&mut connection).await;
58    trade_multiple(&mut connection).await;
59    users(&mut connection).await;
60    aggregates(&mut connection).await;
61    books(&mut connection).await;
62    complex(&mut connection).await;
63    insane(&mut connection).await;
64    limits(&mut connection).await;
65    multiple(&mut connection).await;
66    #[cfg(not(feature = "disable-transactions"))]
67    transaction1(&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    readme(&mut connection)
75        .await
76        .expect("Readme examples test did not succeed");
77    operations(&mut connection)
78        .await
79        .expect("Operations examples test did not succeed");
80}
81
82#[macro_export]
83macro_rules! silent_logs {
84    ($($code:tt)+) => {{
85        let level = log::max_level();
86        log::set_max_level(log::LevelFilter::Off);
87        $($code)+
88        log::set_max_level(level);
89    }};
90}