MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / assert_return

Method assert_return

crates/wast/src/wast.rs:502–533  ·  view source on GitHub ↗
(&mut self, result: Outcome, results: &[Const])

Source from the content-addressed store, hash-verified

500 }
501
502 fn assert_return(&mut self, result: Outcome, results: &[Const]) -> Result<()> {
503 match result.into_result()? {
504 Results::Core(values) => {
505 if values.len() != results.len() {
506 bail!("expected {} results found {}", results.len(), values.len());
507 }
508 for (i, (v, e)) in values.iter().zip(results).enumerate() {
509 let e = match e {
510 Const::Core(core) => core,
511 _ => bail!("expected core value found other value {e:?}"),
512 };
513 core::match_val(&mut self.core_store, v, e)
514 .with_context(|| format!("result {i} didn't match"))?;
515 }
516 }
517 #[cfg(feature = "component-model")]
518 Results::Component(values) => {
519 if values.len() != results.len() {
520 bail!("expected {} results found {}", results.len(), values.len());
521 }
522 for (i, (v, e)) in values.iter().zip(results).enumerate() {
523 let e = match e {
524 Const::Component(val) => val,
525 _ => bail!("expected component value found other value {e:?}"),
526 };
527 component::match_val(e, v)
528 .with_context(|| format!("result {i} didn't match"))?;
529 }
530 }
531 }
532 Ok(())
533 }
534
535 fn assert_trap(&self, result: Outcome, expected: &str) -> Result<()> {
536 let trap = match result {

Callers 1

run_directiveMethod · 0.80

Calls 6

OkFunction · 0.85
into_resultMethod · 0.80
with_contextMethod · 0.80
match_valFunction · 0.70
lenMethod · 0.45
iterMethod · 0.45

Tested by

no test coverage detected