diff --git a/benches/Cargo.toml b/benches/Cargo.toml index 69e0271..0df6e79 100644 --- a/benches/Cargo.toml +++ b/benches/Cargo.toml @@ -5,3 +5,4 @@ authors = ["Sergey Pepyakin "] [dependencies] wasmi = { path = ".." } +assert_matches = "1.2" diff --git a/benches/src/lib.rs b/benches/src/lib.rs index 21fc831..db01ccd 100644 --- a/benches/src/lib.rs +++ b/benches/src/lib.rs @@ -2,6 +2,8 @@ extern crate test; extern crate wasmi; +#[macro_use] +extern crate assert_matches; use std::error; use std::fs::File; @@ -28,17 +30,14 @@ fn bench_tiny_keccak(b: &mut Bencher) { .expect("failed to instantiate wasm module") .assert_no_start(); - let test_data = match instance - .invoke_export("prepare_tiny_keccak", &[], &mut NopExternals) - .unwrap() - { - Some(v @ RuntimeValue::I32(_)) => v, - _ => panic!(), - }; + let test_data_ptr = assert_matches!( + instance.invoke_export("prepare_tiny_keccak", &[], &mut NopExternals), + Ok(Some(v @ RuntimeValue::I32(_))) => v + ); b.iter(|| { instance - .invoke_export("bench_tiny_keccak", &[test_data], &mut NopExternals) + .invoke_export("bench_tiny_keccak", &[test_data_ptr], &mut NopExternals) .unwrap(); }); }