blob: 2d5db6efd449b740f9447df45b211f4a5a1a124a [file] [log] [blame]
#![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,
}
}