From de0d556e72bc90f58077f05a6232b1083503f89a Mon Sep 17 00:00:00 2001 From: Henry Gressmann Date: Sat, 7 Dec 2024 00:40:43 +0100 Subject: chore: move wasm-testsuite to a seperate repo & update tests Signed-off-by: Henry Gressmann --- .../custom-page-sizes-invalid.wast | 112 --------------------- .../custom-page-sizes/custom-page-sizes.wast | 110 -------------------- 2 files changed, 222 deletions(-) delete mode 100644 crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes-invalid.wast delete mode 100644 crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes.wast (limited to 'crates/wasm-testsuite/tests/proposals') diff --git a/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes-invalid.wast b/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes-invalid.wast deleted file mode 100644 index 150f58b..0000000 --- a/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes-invalid.wast +++ /dev/null @@ -1,112 +0,0 @@ -;; from https://github.com/WebAssembly/custom-page-sizes/blob/main/test/core/custom-page-sizes/custom-page-sizes-invalid.wast - -;; Page size that is not a power of two. -(assert_malformed - (module quote "(memory 0 (pagesize 3))") - "invalid custom page size" -) - -;; Power-of-two page sizes that are not 1 or 64KiB. -(assert_invalid - (module (memory 0 (pagesize 2))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 4))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 8))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 16))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 32))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 64))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 128))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 256))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 512))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 1024))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 2048))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 4096))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 8192))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 16384))) - "invalid custom page size" -) -(assert_invalid - (module (memory 0 (pagesize 32768))) - "invalid custom page size" -) - -;; Power-of-two page size that is larger than 64KiB. -(assert_invalid - (module (memory 0 (pagesize 0x20000))) - "invalid custom page size" -) - -;; Power of two page size that cannot fit in a u64 to exercise checks against -;; shift overflow. -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\05\04\01" ;; Memory section - - ;; memory 0 - "\08" ;; flags w/ custom page size - "\00" ;; minimum = 0 - "\41" ;; pagesize = 2**65 - ) - "invalid custom page size" -) - -;; Importing a memory with the wrong page size. - -(module $m - (memory (export "small-pages-memory") 0 (pagesize 1)) - (memory (export "large-pages-memory") 0 (pagesize 65536)) -) -(register "m" $m) - -(assert_unlinkable - (module - (memory (import "m" "small-pages-memory") 0 (pagesize 65536)) - ) - "incompatible import type" -) - -(assert_unlinkable - (module - (memory (import "m" "large-pages-memory") 0 (pagesize 1)) - ) - "incompatible import type" -) diff --git a/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes.wast b/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes.wast deleted file mode 100644 index f59d52b..0000000 --- a/crates/wasm-testsuite/tests/proposals/custom-page-sizes/custom-page-sizes.wast +++ /dev/null @@ -1,110 +0,0 @@ -;; from https://github.com/WebAssembly/custom-page-sizes/blob/main/test/core/custom-page-sizes/custom-page-sizes.wast - -;; Check all the valid custom page sizes. -(module (memory 1 (pagesize 1))) -(module (memory 1 (pagesize 65536))) - -;; Check them all again with maximums specified. -(module (memory 1 2 (pagesize 1))) -(module (memory 1 2 (pagesize 65536))) - -;; Check the behavior of memories with page size 1. -(module - (memory 0 (pagesize 1)) - (func (export "size") (result i32) - memory.size - ) - (func (export "grow") (param i32) (result i32) - (memory.grow (local.get 0)) - ) - (func (export "load") (param i32) (result i32) - (i32.load8_u (local.get 0)) - ) - (func (export "store") (param i32 i32) - (i32.store8 (local.get 0) (local.get 1)) - ) -) - -(assert_return (invoke "size") (i32.const 0)) -(assert_trap (invoke "load" (i32.const 0)) "out of bounds memory access") - -(assert_return (invoke "grow" (i32.const 65536)) (i32.const 0)) -(assert_return (invoke "size") (i32.const 65536)) -(assert_return (invoke "load" (i32.const 65535)) (i32.const 0)) -(assert_return (invoke "store" (i32.const 65535) (i32.const 1))) -(assert_return (invoke "load" (i32.const 65535)) (i32.const 1)) -(assert_trap (invoke "load" (i32.const 65536)) "out of bounds memory access") - -(assert_return (invoke "grow" (i32.const 65536)) (i32.const 65536)) -(assert_return (invoke "size") (i32.const 131072)) -(assert_return (invoke "load" (i32.const 131071)) (i32.const 0)) -(assert_return (invoke "store" (i32.const 131071) (i32.const 1))) -(assert_return (invoke "load" (i32.const 131071)) (i32.const 1)) -(assert_trap (invoke "load" (i32.const 131072)) "out of bounds memory access") - -;; Although smaller page sizes let us get to memories larger than 2**16 pages, -;; we can't do that with the default page size, even if we explicitly state it -;; as a custom page size. -(module - (memory 0 (pagesize 65536)) - (func (export "size") (result i32) - memory.size - ) - (func (export "grow") (param i32) (result i32) - (memory.grow (local.get 0)) - ) -) -(assert_return (invoke "size") (i32.const 0)) -(assert_return (invoke "grow" (i32.const 65537)) (i32.const -1)) -(assert_return (invoke "size") (i32.const 0)) - -;; Can copy between memories of different page sizes. -(module - (memory $small 10 (pagesize 1)) - (memory $large 1 (pagesize 65536)) - - (data (memory $small) (i32.const 0) "\11\22\33\44") - (data (memory $large) (i32.const 0) "\55\66\77\88") - - (func (export "copy-small-to-large") (param i32 i32 i32) - (memory.copy $large $small (local.get 0) (local.get 1) (local.get 2)) - ) - - (func (export "copy-large-to-small") (param i32 i32 i32) - (memory.copy $small $large (local.get 0) (local.get 1) (local.get 2)) - ) - - (func (export "load8-small") (param i32) (result i32) - (i32.load8_u $small (local.get 0)) - ) - - (func (export "load8-large") (param i32) (result i32) - (i32.load8_u $large (local.get 0)) - ) -) - -(assert_return (invoke "copy-small-to-large" (i32.const 6) (i32.const 0) (i32.const 2))) -(assert_return (invoke "load8-large" (i32.const 6)) (i32.const 0x11)) -(assert_return (invoke "load8-large" (i32.const 7)) (i32.const 0x22)) - -(assert_return (invoke "copy-large-to-small" (i32.const 4) (i32.const 1) (i32.const 3))) -(assert_return (invoke "load8-small" (i32.const 4)) (i32.const 0x66)) -(assert_return (invoke "load8-small" (i32.const 5)) (i32.const 0x77)) -(assert_return (invoke "load8-small" (i32.const 6)) (i32.const 0x88)) - -;; Can link together modules that export and import memories with custom page -;; sizes. - -(module $m - (memory (export "small-pages-memory") 0 (pagesize 1)) - (memory (export "large-pages-memory") 0 (pagesize 65536)) -) -(register "m" $m) - -(module - (memory (import "m" "small-pages-memory") 0 (pagesize 1)) -) - -(module - (memory (import "m" "large-pages-memory") 0 (pagesize 65536)) -) -- cgit v1.3.1