#![cfg_attr(test, feature(custom_test_frameworks))]
#![cfg_attr(test, test_runner(crate::test_runner))]
#![doc = include_str!("../README.md")]
#![cfg_attr(
feature = "nightly",
feature(fn_traits, backtrace_frames, unboxed_closures, test)
)]
extern crate test;
pub use sweet_macros;
pub use sweet_macros::test;
pub mod backtrace;
#[cfg(feature = "bevy")]
pub mod bevy;
pub mod libtest;
pub mod logging;
pub mod test_runner;
pub mod utils;
mod matchers;
#[cfg(not(target_arch = "wasm32"))]
#[doc(hidden)]
pub mod native;
pub mod test_case;
#[cfg(target_arch = "wasm32")]
pub mod wasm;
pub mod prelude {
pub use crate::backtrace::*;
#[cfg(feature = "bevy")]
pub use crate::bevy::*;
pub use crate::libtest::*;
pub use crate::logging::*;
pub use crate::matchers::*;
#[cfg(not(target_arch = "wasm32"))]
pub use crate::native::*;
pub use crate::test_case::*;
pub use crate::test_runner::*;
pub use crate::utils::*;
#[cfg(target_arch = "wasm32")]
pub use crate::wasm::*;
}
pub mod as_sweet {
pub use crate::prelude::*;
pub mod sweet {
pub use crate::exports;
pub use crate::prelude;
}
}
pub mod exports {
pub use anyhow::Result;
}
pub fn test_runner(tests: &[&test::TestDescAndFn]) {
#[cfg(target_arch = "wasm32")]
let result = crate::wasm::run_libtest_wasm(tests);
#[cfg(not(target_arch = "wasm32"))]
let result = crate::native::run_libtest_native(tests);
if let Err(e) = result {
eprintln!("Test runner failed: {e}");
std::process::exit(1);
}
}