| #![feature(type_alias_impl_trait)] |
| use pw_log::{error, info}; |
| |
| #[no_mangle] |
| pub extern "C" fn main() -> core::ffi::c_int { |
| let mut success = true; |
| unittest_core::for_each_test(|test| { |
| info!("[{}] running", test.desc.name); |
| match test.test_fn { |
| unittest_core::TestFn::StaticTestFn(f) => { |
| if let Err(e) = f() { |
| error!( |
| "[{}] FAILED: {}:{} - {}", |
| test.desc.name, e.file, e.line, e.message |
| ); |
| success = false; |
| } else { |
| info!("[{}] PASSED", test.desc.name); |
| } |
| } |
| } |
| }); |
| |
| // Return a C error code here as we're implementing a "bare main". |
| match success { |
| true => 0, |
| false => 1, |
| } |
| } |