mirror of
https://github.com/pezkuwichain/wasm-instrument.git
synced 2026-04-21 23:47:57 +00:00
chore: modernize WASM tests (#79)
I tried locally merge `fix-tests` and `fix-clippy` branches and CI should work after my PRs
This commit is contained in:
committed by
GitHub
parent
6307588b3d
commit
fdce5c64f1
+75
-75
@@ -342,12 +342,12 @@ pub fn inject<R: Rules, B: Backend>(
|
||||
///
|
||||
/// An example of block:
|
||||
///
|
||||
/// ```ignore
|
||||
/// ```wasm
|
||||
/// loop
|
||||
/// i32.const 1
|
||||
/// get_local 0
|
||||
/// local.get 0
|
||||
/// i32.sub
|
||||
/// tee_local 0
|
||||
/// local.tee 0
|
||||
/// br_if 0
|
||||
/// end
|
||||
/// ```
|
||||
@@ -1082,13 +1082,13 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 1))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1097,23 +1097,23 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(get_global 0))
|
||||
(get_global 0)))
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(global.get 0))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 6))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(get_global 0))
|
||||
(get_global 0)))
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(global.get 0))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1122,33 +1122,33 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(get_global 0))
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(global.get 0))
|
||||
(else
|
||||
(get_global 0)
|
||||
(get_global 0)))
|
||||
(get_global 0)))
|
||||
(global.get 0)
|
||||
(global.get 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 3))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(call 0 (i64.const 3))
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(get_global 0))
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(global.get 0))
|
||||
(else
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(get_global 0)))
|
||||
(get_global 0)))
|
||||
(global.get 0)
|
||||
(global.get 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1157,28 +1157,28 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br 0)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 6))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br 0)
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1187,37 +1187,37 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br_if 1)))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 5))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(call 0 (i64.const 4))
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br_if 1)))
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1226,44 +1226,44 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(loop
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(br_if 0))
|
||||
(else
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br_if 1)))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 3))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(loop
|
||||
(call 0 (i64.const 4))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(br_if 0))
|
||||
(else
|
||||
(call 0 (i64.const 4))
|
||||
(get_global 0)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(global.get 0)
|
||||
(drop)
|
||||
(br_if 1)))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1272,23 +1272,23 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(return)))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(call 0 (i64.const 1))
|
||||
(return)))
|
||||
(call 0 (i64.const 1))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
@@ -1297,23 +1297,23 @@ mod tests {
|
||||
input = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then (br 1))
|
||||
(else (br 0)))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#;
|
||||
expected = r#"
|
||||
(module
|
||||
(func (result i32)
|
||||
(call 0 (i64.const 5))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(block
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(if
|
||||
(then
|
||||
(call 0 (i64.const 1))
|
||||
@@ -1322,9 +1322,9 @@ mod tests {
|
||||
(call 0 (i64.const 1))
|
||||
(br 0)))
|
||||
(call 0 (i64.const 2))
|
||||
(get_global 0)
|
||||
(global.get 0)
|
||||
(drop))
|
||||
(get_global 0)))
|
||||
(global.get 0)))
|
||||
"#
|
||||
}
|
||||
|
||||
|
||||
@@ -465,7 +465,7 @@ mod tests {
|
||||
(memory 0)
|
||||
(func (result i32)
|
||||
unreachable
|
||||
grow_memory
|
||||
memory.grow
|
||||
)
|
||||
)
|
||||
"#,
|
||||
|
||||
@@ -222,8 +222,8 @@ fn instrument_functions(
|
||||
/// Before:
|
||||
///
|
||||
/// ```text
|
||||
/// get_local 0
|
||||
/// get_local 1
|
||||
/// local.get 0
|
||||
/// local.get 1
|
||||
/// call 228
|
||||
/// drop
|
||||
/// ```
|
||||
@@ -231,8 +231,8 @@ fn instrument_functions(
|
||||
/// After:
|
||||
///
|
||||
/// ```text
|
||||
/// get_local 0
|
||||
/// get_local 1
|
||||
/// local.get 0
|
||||
/// local.get 1
|
||||
///
|
||||
/// < ... preamble ... >
|
||||
///
|
||||
@@ -366,9 +366,9 @@ mod tests {
|
||||
r#"
|
||||
(module
|
||||
(func (export "i32.add") (param i32 i32) (result i32)
|
||||
get_local 0
|
||||
get_local 1
|
||||
i32.add
|
||||
local.get 0
|
||||
local.get 1
|
||||
i32.add
|
||||
)
|
||||
)
|
||||
"#,
|
||||
|
||||
Vendored
+11
-11
@@ -3,25 +3,25 @@
|
||||
(local $x i32) (local $y i32)
|
||||
|
||||
(block $unrolled_loop
|
||||
(set_local $x (i32.const 0))
|
||||
(set_local $y (i32.const 1))
|
||||
(local.set $x (i32.const 0))
|
||||
(local.set $y (i32.const 1))
|
||||
|
||||
get_local $x
|
||||
get_local $y
|
||||
tee_local $x
|
||||
local.get $x
|
||||
local.get $y
|
||||
local.tee $x
|
||||
i32.add
|
||||
set_local $y
|
||||
local.set $y
|
||||
|
||||
i32.const 1
|
||||
br_if $unrolled_loop
|
||||
|
||||
get_local $x
|
||||
get_local $y
|
||||
tee_local $x
|
||||
local.get $x
|
||||
local.get $y
|
||||
local.tee $x
|
||||
i32.add
|
||||
set_local $y
|
||||
local.set $y
|
||||
)
|
||||
|
||||
get_local $y
|
||||
local.get $y
|
||||
)
|
||||
)
|
||||
|
||||
Vendored
+6
-6
@@ -2,18 +2,18 @@
|
||||
(func $add_locals (param $x i32) (param $y i32) (result i32)
|
||||
(local $t i32)
|
||||
|
||||
get_local $x
|
||||
get_local $y
|
||||
local.get $x
|
||||
local.get $y
|
||||
call $add
|
||||
set_local $t
|
||||
local.set $t
|
||||
|
||||
get_local $t
|
||||
local.get $t
|
||||
)
|
||||
|
||||
(func $add (param $x i32) (param $y i32) (result i32)
|
||||
(i32.add
|
||||
(get_local $x)
|
||||
(get_local $y)
|
||||
(local.get $x)
|
||||
(local.get $y)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
Vendored
+2
-2
@@ -2,8 +2,8 @@
|
||||
(func (param $x i32) (result i32)
|
||||
(if (result i32)
|
||||
(i32.const 1)
|
||||
(then (i32.add (get_local $x) (i32.const 1)))
|
||||
(else (i32.popcnt (get_local $x)))
|
||||
(then (i32.add (local.get $x) (i32.const 1)))
|
||||
(else (i32.popcnt (local.get $x)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+13
-13
@@ -5,22 +5,22 @@
|
||||
(global $counter (mut i32) (i32.const 1))
|
||||
|
||||
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
||||
get_local 0
|
||||
get_local 1
|
||||
i32.add
|
||||
local.get 0
|
||||
local.get 1
|
||||
i32.add
|
||||
)
|
||||
(func (param $arg i32)
|
||||
(local $tmp i32)
|
||||
(local $tmp i32)
|
||||
|
||||
global.get 0
|
||||
i32.const 1
|
||||
i32.add
|
||||
tee_local $tmp
|
||||
global.set $counter
|
||||
global.get 0
|
||||
i32.const 1
|
||||
i32.add
|
||||
local.tee $tmp
|
||||
global.set $counter
|
||||
|
||||
get_local $tmp
|
||||
get_local $arg
|
||||
call $i32.add
|
||||
drop
|
||||
local.get $tmp
|
||||
local.get $arg
|
||||
call $i32.add
|
||||
drop
|
||||
)
|
||||
)
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
call $foo
|
||||
call $boo
|
||||
|
||||
get_local 0
|
||||
get_local 1
|
||||
local.get 0
|
||||
local.get 1
|
||||
i32.add
|
||||
)
|
||||
)
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@
|
||||
(call
|
||||
$one-group-many-locals
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+5
-5
@@ -1,17 +1,17 @@
|
||||
(module
|
||||
(import "env" "foo" (func $foo))
|
||||
(func (param i32)
|
||||
get_local 0
|
||||
local.get 0
|
||||
i32.const 0
|
||||
call $i32.add
|
||||
drop
|
||||
)
|
||||
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
||||
get_local 0
|
||||
get_local 1
|
||||
i32.add
|
||||
local.get 0
|
||||
local.get 1
|
||||
i32.add
|
||||
)
|
||||
(table 10 anyfunc)
|
||||
(table 10 funcref)
|
||||
|
||||
;; Refer all types of functions: imported, defined not exported and defined exported.
|
||||
(elem (i32.const 0) 0 1 2)
|
||||
|
||||
Reference in New Issue
Block a user