From 0d7c4b0a763b89b4e3b384dabb361af94bd4d1b5 Mon Sep 17 00:00:00 2001 From: Mariano Guerra Date: Fri, 11 Sep 2015 23:02:03 +0200 Subject: [PATCH] add some tests for call --- ml-proto/test/calls.wasm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ml-proto/test/calls.wasm diff --git a/ml-proto/test/calls.wasm b/ml-proto/test/calls.wasm new file mode 100644 index 0000000000..cc8e6877ca --- /dev/null +++ b/ml-proto/test/calls.wasm @@ -0,0 +1,37 @@ +(module + (func $one + (i32.const 1)) + + (func $two + (i32.const 2)) + + (func $add (param i32) (param i32) (result i32) + (i32.add (get_local 0) (get_local 1))) + + (func $callone (call $one)) + (func $calltwo (call $two)) + (func $calladd (param i32) (param i32) (result i32) + (call $add (get_local 0) (get_local 1))) + + (export "one" $one) + (export "two" $two) + (export "add" $add) + (export "callone" $callone) + (export "calltwo" $calltwo) + (export "calladd" $calladd) +) + +(assert_eq (invoke "one") (i32.const 1)) +(assert_eq (invoke "two") (i32.const 2)) + +(assert_eq (invoke "add" (i32.const 1) (i32.const 2)) (i32.const 3)) + +(assert_eq (invoke "callone") (i32.const 1)) +(assert_eq (invoke "calltwo") (i32.const 2)) +(assert_eq (invoke "calladd" (i32.const 1) (i32.const 2)) + (i32.const 3)) + +(; the following test fails +(assert_eq (invoke "calladd" (invoke "callone") (invoke "calltwo")) + (i32.const 3)) +;)