Fix ignored error in benchmark tests (#8214)

* fix ignored error in benchmark tests

* use normal format for str

* explicit match

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
This commit is contained in:
Guillaume Thiolliere
2021-02-26 19:50:58 +01:00
committed by GitHub
parent 33b435894a
commit 65df4a9333
+10 -3
View File
@@ -1169,9 +1169,16 @@ macro_rules! impl_benchmark_test_suite {
let mut anything_failed = false;
println!("failing benchmark tests:");
for benchmark_name in $bench_module::<$test>::benchmarks($extra) {
if let Err(err) = std::panic::catch_unwind(|| test_bench_by_name::<$test>(benchmark_name)) {
println!("{}: {:?}", String::from_utf8_lossy(benchmark_name), err);
anything_failed = true;
match std::panic::catch_unwind(|| test_bench_by_name::<$test>(benchmark_name)) {
Err(err) => {
println!("{}: {:?}", String::from_utf8_lossy(benchmark_name), err);
anything_failed = true;
},
Ok(Err(err)) => {
println!("{}: {}", String::from_utf8_lossy(benchmark_name), err);
anything_failed = true;
},
Ok(Ok(_)) => (),
}
}
assert!(!anything_failed);