Skip to main content

toasty_driver_integration_suite/
lib.rs

1#[macro_use]
2mod macros;
3#[macro_use]
4mod util;
5
6mod helpers;
7pub use helpers::{column, columns, table_id};
8
9mod isolate;
10use isolate::Isolate;
11
12mod instrumented_driver;
13pub use instrumented_driver::{DriverOp, Fault, InstrumentedDriver, InstrumentedHandle};
14
15mod setup;
16pub use setup::Setup;
17
18mod test;
19pub use test::{Test, TestResult};
20
21pub mod scenarios;
22
23pub mod stmt;
24
25/// Test implementations
26pub mod tests;
27
28// Re-export the macros
29#[doc(hidden)]
30pub use toasty_driver_integration_suite_macros::generate_driver_test_variants;
31
32// Generate the test registry macro by scanning the test directory once at compile time
33// This creates a macro_rules! generate_driver_tests that can be called multiple times
34toasty_driver_integration_suite_macros::generate_test_registry!("src/tests");
35
36mod prelude {
37    pub(crate) use crate::{
38        Test, columns,
39        stmt::{Any, ArgOr},
40        table_id,
41    };
42    pub(crate) use toasty::Result;
43    pub(crate) use toasty::models;
44    pub(crate) use toasty::schema::Register;
45    pub(crate) type BoxError = Box<dyn std::error::Error + 'static>;
46
47    pub(crate) use crate::util::{NumUtil, SliceUtil};
48    pub(crate) use assert_struct::assert_struct;
49    pub(crate) use toasty_driver_integration_suite_macros::{driver_test, scenario};
50}