aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/fixtures/spec_testsuites/core/table_set.json
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-03-16 20:41:50 +0900
committernsfisis <nsfisis@gmail.com>2024-03-16 20:41:50 +0900
commit3d2d891d7e1492d179cd8da7a618fbdd5efcca2c (patch)
tree45367f35d98af1125a2197b3bc3dbc35700128d7 /tests/fixtures/spec_testsuites/core/table_set.json
parent9b45796547c8022b98a9254320323d72aecd81cb (diff)
downloadphp-waddiwasi-3d2d891d7e1492d179cd8da7a618fbdd5efcca2c.tar.gz
php-waddiwasi-3d2d891d7e1492d179cd8da7a618fbdd5efcca2c.tar.zst
php-waddiwasi-3d2d891d7e1492d179cd8da7a618fbdd5efcca2c.zip
feat: add spec testsuites
Diffstat (limited to 'tests/fixtures/spec_testsuites/core/table_set.json')
-rw-r--r--tests/fixtures/spec_testsuites/core/table_set.json28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/fixtures/spec_testsuites/core/table_set.json b/tests/fixtures/spec_testsuites/core/table_set.json
new file mode 100644
index 0000000..5ad8564
--- /dev/null
+++ b/tests/fixtures/spec_testsuites/core/table_set.json
@@ -0,0 +1,28 @@
+{"source_filename": "./table_set.wast",
+ "commands": [
+ {"type": "module", "line": 1, "filename": "table_set.0.wasm"},
+ {"type": "assert_return", "line": 29, "action": {"type": "invoke", "field": "get-externref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "externref", "value": "null"}]},
+ {"type": "assert_return", "line": 30, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "0"}, {"type": "externref", "value": "1"}]}, "expected": []},
+ {"type": "assert_return", "line": 31, "action": {"type": "invoke", "field": "get-externref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "externref", "value": "1"}]},
+ {"type": "assert_return", "line": 32, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "0"}, {"type": "externref", "value": "null"}]}, "expected": []},
+ {"type": "assert_return", "line": 33, "action": {"type": "invoke", "field": "get-externref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "externref", "value": "null"}]},
+ {"type": "assert_return", "line": 35, "action": {"type": "invoke", "field": "get-funcref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "funcref", "value": "null"}]},
+ {"type": "assert_return", "line": 36, "action": {"type": "invoke", "field": "set-funcref-from", "args": [{"type": "i32", "value": "0"}, {"type": "i32", "value": "1"}]}, "expected": []},
+ {"type": "assert_return", "line": 37, "action": {"type": "invoke", "field": "is_null-funcref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "i32", "value": "0"}]},
+ {"type": "assert_return", "line": 38, "action": {"type": "invoke", "field": "set-funcref", "args": [{"type": "i32", "value": "0"}, {"type": "funcref", "value": "null"}]}, "expected": []},
+ {"type": "assert_return", "line": 39, "action": {"type": "invoke", "field": "get-funcref", "args": [{"type": "i32", "value": "0"}]}, "expected": [{"type": "funcref", "value": "null"}]},
+ {"type": "assert_trap", "line": 41, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "2"}, {"type": "externref", "value": "null"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 42, "action": {"type": "invoke", "field": "set-funcref", "args": [{"type": "i32", "value": "3"}, {"type": "funcref", "value": "null"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 43, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "4294967295"}, {"type": "externref", "value": "null"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 44, "action": {"type": "invoke", "field": "set-funcref", "args": [{"type": "i32", "value": "4294967295"}, {"type": "funcref", "value": "null"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 46, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "2"}, {"type": "externref", "value": "0"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 47, "action": {"type": "invoke", "field": "set-funcref-from", "args": [{"type": "i32", "value": "3"}, {"type": "i32", "value": "1"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 48, "action": {"type": "invoke", "field": "set-externref", "args": [{"type": "i32", "value": "4294967295"}, {"type": "externref", "value": "0"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_trap", "line": 49, "action": {"type": "invoke", "field": "set-funcref-from", "args": [{"type": "i32", "value": "4294967295"}, {"type": "i32", "value": "1"}]}, "text": "out of bounds table access", "expected": []},
+ {"type": "assert_invalid", "line": 55, "filename": "table_set.1.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 64, "filename": "table_set.2.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 73, "filename": "table_set.3.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 82, "filename": "table_set.4.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 91, "filename": "table_set.5.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 101, "filename": "table_set.6.wasm", "text": "type mismatch", "module_type": "binary"},
+ {"type": "assert_invalid", "line": 112, "filename": "table_set.7.wasm", "text": "type mismatch", "module_type": "binary"}]}