mirror of
https://github.com/pezkuwichain/wasm-instrument.git
synced 2026-06-13 04:41:06 +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:
|
/// An example of block:
|
||||||
///
|
///
|
||||||
/// ```ignore
|
/// ```wasm
|
||||||
/// loop
|
/// loop
|
||||||
/// i32.const 1
|
/// i32.const 1
|
||||||
/// get_local 0
|
/// local.get 0
|
||||||
/// i32.sub
|
/// i32.sub
|
||||||
/// tee_local 0
|
/// local.tee 0
|
||||||
/// br_if 0
|
/// br_if 0
|
||||||
/// end
|
/// end
|
||||||
/// ```
|
/// ```
|
||||||
@@ -1082,13 +1082,13 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 1))
|
(call 0 (i64.const 1))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1097,23 +1097,23 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0))
|
(global.get 0))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 6))
|
(call 0 (i64.const 6))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0))
|
(global.get 0))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1122,33 +1122,33 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0))
|
(global.get 0))
|
||||||
(else
|
(else
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 3))
|
(call 0 (i64.const 3))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(call 0 (i64.const 3))
|
(call 0 (i64.const 3))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0))
|
(global.get 0))
|
||||||
(else
|
(else
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1157,28 +1157,28 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br 0)
|
(br 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 6))
|
(call 0 (i64.const 6))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br 0)
|
(br 0)
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1187,37 +1187,37 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br_if 1)))
|
(br_if 1)))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 5))
|
(call 0 (i64.const 5))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(call 0 (i64.const 4))
|
(call 0 (i64.const 4))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br_if 1)))
|
(br_if 1)))
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1226,44 +1226,44 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(loop
|
(loop
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(br_if 0))
|
(br_if 0))
|
||||||
(else
|
(else
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br_if 1)))
|
(br_if 1)))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 3))
|
(call 0 (i64.const 3))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(loop
|
(loop
|
||||||
(call 0 (i64.const 4))
|
(call 0 (i64.const 4))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(br_if 0))
|
(br_if 0))
|
||||||
(else
|
(else
|
||||||
(call 0 (i64.const 4))
|
(call 0 (i64.const 4))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop)
|
(drop)
|
||||||
(br_if 1)))
|
(br_if 1)))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1272,23 +1272,23 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(return)))
|
(return)))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(call 0 (i64.const 1))
|
(call 0 (i64.const 1))
|
||||||
(return)))
|
(return)))
|
||||||
(call 0 (i64.const 1))
|
(call 0 (i64.const 1))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1297,23 +1297,23 @@ mod tests {
|
|||||||
input = r#"
|
input = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then (br 1))
|
(then (br 1))
|
||||||
(else (br 0)))
|
(else (br 0)))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#;
|
"#;
|
||||||
expected = r#"
|
expected = r#"
|
||||||
(module
|
(module
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
(call 0 (i64.const 5))
|
(call 0 (i64.const 5))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(block
|
(block
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(if
|
(if
|
||||||
(then
|
(then
|
||||||
(call 0 (i64.const 1))
|
(call 0 (i64.const 1))
|
||||||
@@ -1322,9 +1322,9 @@ mod tests {
|
|||||||
(call 0 (i64.const 1))
|
(call 0 (i64.const 1))
|
||||||
(br 0)))
|
(br 0)))
|
||||||
(call 0 (i64.const 2))
|
(call 0 (i64.const 2))
|
||||||
(get_global 0)
|
(global.get 0)
|
||||||
(drop))
|
(drop))
|
||||||
(get_global 0)))
|
(global.get 0)))
|
||||||
"#
|
"#
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -465,7 +465,7 @@ mod tests {
|
|||||||
(memory 0)
|
(memory 0)
|
||||||
(func (result i32)
|
(func (result i32)
|
||||||
unreachable
|
unreachable
|
||||||
grow_memory
|
memory.grow
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
"#,
|
"#,
|
||||||
|
|||||||
@@ -222,8 +222,8 @@ fn instrument_functions(
|
|||||||
/// Before:
|
/// Before:
|
||||||
///
|
///
|
||||||
/// ```text
|
/// ```text
|
||||||
/// get_local 0
|
/// local.get 0
|
||||||
/// get_local 1
|
/// local.get 1
|
||||||
/// call 228
|
/// call 228
|
||||||
/// drop
|
/// drop
|
||||||
/// ```
|
/// ```
|
||||||
@@ -231,8 +231,8 @@ fn instrument_functions(
|
|||||||
/// After:
|
/// After:
|
||||||
///
|
///
|
||||||
/// ```text
|
/// ```text
|
||||||
/// get_local 0
|
/// local.get 0
|
||||||
/// get_local 1
|
/// local.get 1
|
||||||
///
|
///
|
||||||
/// < ... preamble ... >
|
/// < ... preamble ... >
|
||||||
///
|
///
|
||||||
@@ -366,9 +366,9 @@ mod tests {
|
|||||||
r#"
|
r#"
|
||||||
(module
|
(module
|
||||||
(func (export "i32.add") (param i32 i32) (result i32)
|
(func (export "i32.add") (param i32 i32) (result i32)
|
||||||
get_local 0
|
local.get 0
|
||||||
get_local 1
|
local.get 1
|
||||||
i32.add
|
i32.add
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
"#,
|
"#,
|
||||||
|
|||||||
Vendored
+11
-11
@@ -3,25 +3,25 @@
|
|||||||
(local $x i32) (local $y i32)
|
(local $x i32) (local $y i32)
|
||||||
|
|
||||||
(block $unrolled_loop
|
(block $unrolled_loop
|
||||||
(set_local $x (i32.const 0))
|
(local.set $x (i32.const 0))
|
||||||
(set_local $y (i32.const 1))
|
(local.set $y (i32.const 1))
|
||||||
|
|
||||||
get_local $x
|
local.get $x
|
||||||
get_local $y
|
local.get $y
|
||||||
tee_local $x
|
local.tee $x
|
||||||
i32.add
|
i32.add
|
||||||
set_local $y
|
local.set $y
|
||||||
|
|
||||||
i32.const 1
|
i32.const 1
|
||||||
br_if $unrolled_loop
|
br_if $unrolled_loop
|
||||||
|
|
||||||
get_local $x
|
local.get $x
|
||||||
get_local $y
|
local.get $y
|
||||||
tee_local $x
|
local.tee $x
|
||||||
i32.add
|
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)
|
(func $add_locals (param $x i32) (param $y i32) (result i32)
|
||||||
(local $t i32)
|
(local $t i32)
|
||||||
|
|
||||||
get_local $x
|
local.get $x
|
||||||
get_local $y
|
local.get $y
|
||||||
call $add
|
call $add
|
||||||
set_local $t
|
local.set $t
|
||||||
|
|
||||||
get_local $t
|
local.get $t
|
||||||
)
|
)
|
||||||
|
|
||||||
(func $add (param $x i32) (param $y i32) (result i32)
|
(func $add (param $x i32) (param $y i32) (result i32)
|
||||||
(i32.add
|
(i32.add
|
||||||
(get_local $x)
|
(local.get $x)
|
||||||
(get_local $y)
|
(local.get $y)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Vendored
+2
-2
@@ -2,8 +2,8 @@
|
|||||||
(func (param $x i32) (result i32)
|
(func (param $x i32) (result i32)
|
||||||
(if (result i32)
|
(if (result i32)
|
||||||
(i32.const 1)
|
(i32.const 1)
|
||||||
(then (i32.add (get_local $x) (i32.const 1)))
|
(then (i32.add (local.get $x) (i32.const 1)))
|
||||||
(else (i32.popcnt (get_local $x)))
|
(else (i32.popcnt (local.get $x)))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+13
-13
@@ -5,22 +5,22 @@
|
|||||||
(global $counter (mut i32) (i32.const 1))
|
(global $counter (mut i32) (i32.const 1))
|
||||||
|
|
||||||
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
||||||
get_local 0
|
local.get 0
|
||||||
get_local 1
|
local.get 1
|
||||||
i32.add
|
i32.add
|
||||||
)
|
)
|
||||||
(func (param $arg i32)
|
(func (param $arg i32)
|
||||||
(local $tmp i32)
|
(local $tmp i32)
|
||||||
|
|
||||||
global.get 0
|
global.get 0
|
||||||
i32.const 1
|
i32.const 1
|
||||||
i32.add
|
i32.add
|
||||||
tee_local $tmp
|
local.tee $tmp
|
||||||
global.set $counter
|
global.set $counter
|
||||||
|
|
||||||
get_local $tmp
|
local.get $tmp
|
||||||
get_local $arg
|
local.get $arg
|
||||||
call $i32.add
|
call $i32.add
|
||||||
drop
|
drop
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -8,8 +8,8 @@
|
|||||||
call $foo
|
call $foo
|
||||||
call $boo
|
call $boo
|
||||||
|
|
||||||
get_local 0
|
local.get 0
|
||||||
get_local 1
|
local.get 1
|
||||||
i32.add
|
i32.add
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -6,5 +6,5 @@
|
|||||||
(call
|
(call
|
||||||
$one-group-many-locals
|
$one-group-many-locals
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
+5
-5
@@ -1,17 +1,17 @@
|
|||||||
(module
|
(module
|
||||||
(import "env" "foo" (func $foo))
|
(import "env" "foo" (func $foo))
|
||||||
(func (param i32)
|
(func (param i32)
|
||||||
get_local 0
|
local.get 0
|
||||||
i32.const 0
|
i32.const 0
|
||||||
call $i32.add
|
call $i32.add
|
||||||
drop
|
drop
|
||||||
)
|
)
|
||||||
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
(func $i32.add (export "i32.add") (param i32 i32) (result i32)
|
||||||
get_local 0
|
local.get 0
|
||||||
get_local 1
|
local.get 1
|
||||||
i32.add
|
i32.add
|
||||||
)
|
)
|
||||||
(table 10 anyfunc)
|
(table 10 funcref)
|
||||||
|
|
||||||
;; Refer all types of functions: imported, defined not exported and defined exported.
|
;; Refer all types of functions: imported, defined not exported and defined exported.
|
||||||
(elem (i32.const 0) 0 1 2)
|
(elem (i32.const 0) 0 1 2)
|
||||||
|
|||||||
Reference in New Issue
Block a user