From fdce5c64f1173bcb84d329f2c36b34cd29d72fac Mon Sep 17 00:00:00 2001 From: StackOverflowExcept1on <109800286+StackOverflowExcept1on@users.noreply.github.com> Date: Tue, 7 Nov 2023 11:14:09 +0300 Subject: [PATCH] chore: modernize WASM tests (#79) I tried locally merge `fix-tests` and `fix-clippy` branches and CI should work after my PRs --- src/gas_metering/mod.rs | 150 ++++++++++---------- src/stack_limiter/max_height.rs | 2 +- src/stack_limiter/mod.rs | 14 +- tests/fixtures/gas/branch.wat | 22 +-- tests/fixtures/gas/call.wat | 12 +- tests/fixtures/gas/ifs.wat | 4 +- tests/fixtures/stack-height/global.wat | 26 ++-- tests/fixtures/stack-height/imports.wat | 4 +- tests/fixtures/stack-height/many_locals.wat | 2 +- tests/fixtures/stack-height/table.wat | 10 +- 10 files changed, 123 insertions(+), 123 deletions(-) diff --git a/src/gas_metering/mod.rs b/src/gas_metering/mod.rs index 502e773..e741d83 100644 --- a/src/gas_metering/mod.rs +++ b/src/gas_metering/mod.rs @@ -342,12 +342,12 @@ pub fn inject( /// /// 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))) "# } diff --git a/src/stack_limiter/max_height.rs b/src/stack_limiter/max_height.rs index fc0a030..7f01b51 100644 --- a/src/stack_limiter/max_height.rs +++ b/src/stack_limiter/max_height.rs @@ -465,7 +465,7 @@ mod tests { (memory 0) (func (result i32) unreachable - grow_memory + memory.grow ) ) "#, diff --git a/src/stack_limiter/mod.rs b/src/stack_limiter/mod.rs index 99f13ae..6ee8a75 100644 --- a/src/stack_limiter/mod.rs +++ b/src/stack_limiter/mod.rs @@ -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 ) ) "#, diff --git a/tests/fixtures/gas/branch.wat b/tests/fixtures/gas/branch.wat index a3b18ce..ea7b6a9 100644 --- a/tests/fixtures/gas/branch.wat +++ b/tests/fixtures/gas/branch.wat @@ -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 ) ) diff --git a/tests/fixtures/gas/call.wat b/tests/fixtures/gas/call.wat index ff08b2f..1f0a57b 100644 --- a/tests/fixtures/gas/call.wat +++ b/tests/fixtures/gas/call.wat @@ -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) ) ) ) diff --git a/tests/fixtures/gas/ifs.wat b/tests/fixtures/gas/ifs.wat index a2dd3b8..791b780 100644 --- a/tests/fixtures/gas/ifs.wat +++ b/tests/fixtures/gas/ifs.wat @@ -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))) ) ) ) diff --git a/tests/fixtures/stack-height/global.wat b/tests/fixtures/stack-height/global.wat index 64d978c..14748cf 100644 --- a/tests/fixtures/stack-height/global.wat +++ b/tests/fixtures/stack-height/global.wat @@ -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 ) ) diff --git a/tests/fixtures/stack-height/imports.wat b/tests/fixtures/stack-height/imports.wat index 9602769..a24e0f7 100644 --- a/tests/fixtures/stack-height/imports.wat +++ b/tests/fixtures/stack-height/imports.wat @@ -8,8 +8,8 @@ call $foo call $boo - get_local 0 - get_local 1 + local.get 0 + local.get 1 i32.add ) ) diff --git a/tests/fixtures/stack-height/many_locals.wat b/tests/fixtures/stack-height/many_locals.wat index 289ed31..05bf491 100644 --- a/tests/fixtures/stack-height/many_locals.wat +++ b/tests/fixtures/stack-height/many_locals.wat @@ -6,5 +6,5 @@ (call $one-group-many-locals ) - ) + ) ) diff --git a/tests/fixtures/stack-height/table.wat b/tests/fixtures/stack-height/table.wat index 3911362..a007db0 100644 --- a/tests/fixtures/stack-height/table.wat +++ b/tests/fixtures/stack-height/table.wat @@ -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)