Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/tests/all/defaults.rs
1690 views
1
use wasmtime::*;
2
3
#[test]
4
#[cfg_attr(miri, ignore)]
5
fn test_tail_call_default() -> Result<()> {
6
for (line, expected, cfg) in [
7
(
8
line!(),
9
true,
10
Config::new()
11
.strategy(Strategy::Cranelift)
12
.target("x86_64")?,
13
),
14
(
15
line!(),
16
true,
17
Config::new()
18
.strategy(Strategy::Cranelift)
19
.target("aarch64")?,
20
),
21
(
22
line!(),
23
true,
24
Config::new()
25
.strategy(Strategy::Cranelift)
26
.target("riscv64")?,
27
),
28
(
29
line!(),
30
true,
31
Config::new()
32
.strategy(Strategy::Cranelift)
33
.target("s390x")?,
34
),
35
(
36
line!(),
37
false,
38
Config::new().strategy(Strategy::Winch).target("x86_64")?,
39
),
40
(
41
line!(),
42
false,
43
Config::new().strategy(Strategy::Winch).target("aarch64")?,
44
),
45
(
46
line!(),
47
false,
48
Config::new()
49
.strategy(Strategy::Cranelift)
50
.wasm_tail_call(false)
51
.target("x86_64")?,
52
),
53
] {
54
cfg.signals_based_traps(true);
55
let engine = Engine::new(cfg)?;
56
57
let wat = r#"
58
(module $from_name_section
59
(func (export "run") (return_call 0))
60
)
61
"#;
62
63
let result = engine.precompile_module(wat.as_bytes()).map(|_| ());
64
65
eprintln!("for config on line {line}, got: {result:?}");
66
67
assert_eq!(expected, result.is_ok());
68
}
69
70
Ok(())
71
}
72
73