test(runtime-c-api) Fully test all kind of exports.

This commit is contained in:
Ivan Enderlin
2019-09-05 15:08:23 +02:00
parent 2d63e25075
commit a2343f9f0d
4 changed files with 505 additions and 56 deletions

View File

@ -400,15 +400,25 @@ pub unsafe extern "C" fn wasmer_export_func_call(
});
return wasmer_result_t::WASMER_ERROR;
}
if params.is_null() {
if params_len > 0 && params.is_null() {
update_last_error(CApiError {
msg: "params ptr is null".to_string(),
});
return wasmer_result_t::WASMER_ERROR;
}
let params: &[wasmer_value_t] = slice::from_raw_parts(params, params_len as usize);
let params: Vec<Value> = params.iter().cloned().map(|x| x.into()).collect();
let params: Vec<Value> = {
if params_len <= 0 {
vec![]
} else {
slice::from_raw_parts::<wasmer_value_t>(params, params_len as usize)
.iter()
.cloned()
.map(|x| x.into())
.collect()
}
};
let named_export = &*(func as *mut NamedExport);