From 4fb1623108c6dc03e3c583d3138a1626a94b4eb9 Mon Sep 17 00:00:00 2001 From: Andrei Maiboroda Date: Thu, 4 Mar 2021 21:49:25 +0100 Subject: [PATCH] [test] Check that memory is exported/imported with correct min limit --- test/core/imports.wast | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/core/imports.wast b/test/core/imports.wast index 6cfca2fc62..5fb11f1fc0 100644 --- a/test/core/imports.wast +++ b/test/core/imports.wast @@ -565,6 +565,26 @@ (assert_return (invoke "grow" (i32.const 1)) (i32.const -1)) (assert_return (invoke "grow" (i32.const 0)) (i32.const 2)) +(module $Mgm + (memory (export "memory") 1) ;; initial size is 1 + (func (export "grow") (result i32) (memory.grow (i32.const 1))) +) +(register "grown-memory" $Mgm) +(assert_return (invoke $Mgm "grow") (i32.const 1)) ;; now size is 2 +(module $Mgim1 + ;; imported memory limits should match, because external memory size is 2 now + (memory (export "memory") (import "grown-memory" "memory") 2) + (func (export "grow") (result i32) (memory.grow (i32.const 1))) +) +(register "grown-imported-memory" $Mgim1) +(assert_return (invoke $Mgim1 "grow") (i32.const 2)) ;; now size is 3 +(module $Mgim2 + ;; imported memory limits should match, because external memory size is 3 now + (import "grown-imported-memory" "memory" (memory 3)) + (func (export "size") (result i32) (memory.size)) +) +(assert_return (invoke $Mgim2 "size") (i32.const 3)) + ;; Syntax errors