Improve trap error messages (#831)
* Improve trap error messages The new trap error message for the issue #828 looks like: ``` thread 'main' panicked at 'a', /proc/self/fd/11:1:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace. Error: failed to run main module `test.wasm` Caused by: 0: failed to invoke `_start` 1: wasm trap: unreachable, source location: @6cea wasm backtrace: 0: __rust_start_panic 1: rust_panic 2: std::panicking::rust_panic_with_hook::h57f0cff11449798f 3: std::panicking::begin_panic::hd620695467c5dd1f 4: test::main::ha54db001eabbde1b 5: std::rt::lang_start::{{closure}}::h5acfb82693695869 6: std::sys_common::backtrace::__rust_begin_short_backtrace::h39e8b9420da241f9 7: std::panicking::try::do_call::hb7ebfcd70d5f703e 8: __rust_maybe_catch_panic 9: std::rt::lang_start_internal::hd5f64f52a5c5315c 10: std::rt::lang_start::h2a51d79994dd0c4b 11: __original_main 12: _start ``` Closes #828 * Tidy up the style of the traps tests * Add some tests and module names
This commit is contained in:
@@ -71,13 +71,10 @@ pub fn instantiate(data: &[u8], bin_name: &str, workspace: Option<&Path>) -> any
|
||||
.context("expected a _start export")?
|
||||
.clone();
|
||||
|
||||
if let Err(trap) = export
|
||||
export
|
||||
.func()
|
||||
.context("expected export to be a func")?
|
||||
.call(&[])
|
||||
{
|
||||
bail!("trapped: {:?}", trap);
|
||||
}
|
||||
.call(&[])?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user