Bug 1333011: wasm: add spec tests for checking segments against actual sizes; r=luke

This is just winning some time from https://github.com/WebAssembly/spec/pull/408/.

MozReview-Commit-ID: 1mIO3pQa3SL

--HG--
extra : rebase_source : 53ccbca9b015af6d1a87b7ca4f55e643cc8dd901
extra : histedit_source : 41a5732c6d97799cfc02f86b6f511608576cfa73
This commit is contained in:
Benjamin Bouvier 2017-01-23 14:47:08 +01:00
parent 2750b74e05
commit 0c4f03c013

View File

@ -156,6 +156,12 @@
(assert_trap (invoke $Ot "call" (i32.const 20)) "undefined")
(module $Pt
(table (import "Mt" "tab") 0 anyfunc)
(elem (i32.const 9) $f)
(func $f)
)
(assert_unlinkable
(module
(table (import "Mt" "tab") 10 anyfunc)
@ -235,6 +241,11 @@
(assert_return (invoke $Om "load" (i32.const 12)) (i32.const 0xa7))
(module $Pm
(memory (import "Mm" "mem") 0)
(data (i32.const 1000) "abc")
)
(module $Qm
(memory (import "Mm" "mem") 1 8)
(func (export "grow") (param $a i32) (result i32)
@ -242,14 +253,14 @@
)
)
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 1))
(assert_return (invoke $Pm "grow" (i32.const 2)) (i32.const 1))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 3))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 3))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 4))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))
(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const -1))
(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))
(assert_return (invoke $Qm "grow" (i32.const 0)) (i32.const 1))
(assert_return (invoke $Qm "grow" (i32.const 2)) (i32.const 1))
(assert_return (invoke $Qm "grow" (i32.const 0)) (i32.const 3))
(assert_return (invoke $Qm "grow" (i32.const 1)) (i32.const 3))
(assert_return (invoke $Qm "grow" (i32.const 1)) (i32.const 4))
(assert_return (invoke $Qm "grow" (i32.const 0)) (i32.const 5))
(assert_return (invoke $Qm "grow" (i32.const 1)) (i32.const -1))
(assert_return (invoke $Qm "grow" (i32.const 0)) (i32.const 5))
(assert_unlinkable
(module