message: test: add test case for returning i64 in wasm_engine_test
diff: @@ -137,6 +137,38 @@ TEST(wasm_engine, multi_mixed_args_ret_i32)
  }
  }
  +TEST(wasm_engine, multi_mixed_args_ret_i64)
  +{
  + /* wat2wasm
  + (func $test (export "test") (param $a i32) (param $b i64) (param $c i32) (result i64)
  + local.get $a
  + local.get $c
  + i32.sub
  + i64.extend_i32_u
  + local.get $b
  + i64.mul
  + )
  + */
  + const auto wasm = from_hex(
  + "0061736d0100000001080160037f7e7f017e03020100070801047465737400000a0d010b00200020026bad2001"
  + "7e0b");
  +
  + for (auto engine_create_fn : {create_fizzy_engine, create_wabt_engine, create_wasm3_engine})
  + {
  + auto engine = engine_create_fn();
  + ASSERT_TRUE(engine->parse(wasm));
  + ASSERT_TRUE(engine->instantiate());
  + ASSERT_FALSE(engine->find_function("notfound").has_value());
  + const auto func = engine->find_function("test");
  + ASSERT_TRUE(func.has_value());
  + // (52 - 21) * 0x1fffffff => 0x3dfffffe1
  + const auto result = engine->execute(*func, {52, 0x1fffffff, 21});
  + ASSERT_FALSE(result.trapped);
  + ASSERT_TRUE(result.value.has_value());
  + ASSERT_EQ(*result.value, 0x3dfffffe1);
  + }
  +}
  +
  TEST(wasm_engine, no_memory)
  {
  /* wat2wasm
  