Diego
6493acf2f4
LibWasm: Preserve sign bit across JS boundary in test-wasm
...
A `Uint8Array` can now be passed in the Wasm testjs files to be
transmuted into a Wasm value.
2024-07-08 15:12:16 +02:00
Diego
40fcb00c14
LibWasm: Add missing spec-test imports
2024-06-11 02:43:55 +02:00
Diego
9235c3268f
LibWasm: Generate all spec-tests properly
2024-06-09 12:16:17 +02:00
Diego
d906255cbb
LibWasm: Improve table support
...
Implements `table.get`, `table.set`, `elem.drop`, `table.size`,
and `table.grow`. Also fixes a few issues when generating ref-related
spectests. Also changes the `TableInstance` type to use
`Vector<Reference>` instead of `Vector<Optional<Reference>>`, because
the ability to be null is already encoded in the `Reference` type.
2024-06-01 16:21:03 +02:00
Ali Mohammad Pur
3c176bafee
LibWasm: Implement a few SIMD instructions
2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
5f013e5374
Meta: Generate bigint values for v128 constants in Wasm tests
2023-08-21 13:39:32 +03:30
Lucas CHOLLET
005184e4a4
Meta: Use is
instead of ==
to compare types
...
This fixes the multiple "E721 do not compare types" failures that
appeared during CI runs.
2023-07-29 23:23:25 +01:00
Ali Mohammad Pur
612d5f201a
Meta: Skip wasm tests whose modules cannot be loaded
...
Also add support for a few more assertion types to go along with it.
2022-03-20 10:44:32 +03:30
Ali Mohammad Pur
ab55abb0f8
Meta: Enable all wasm extensions when building test suite
...
...and let LibWasm do the validation instead of removing the test when a
module is invalid.
Also, one of the tests has an integer literal starting with zero, so
account for this to make it not fail :^)
2022-03-16 15:44:52 +00:00
Ali Mohammad Pur
1465b11b58
Meta: Implement support for the "unlinkable" Wasm spectest assertion
2021-08-30 22:47:02 +02:00
Ali Mohammad Pur
e93c740df5
Meta: Generate bigints for i64 values in LibWasm test suite files
2021-08-30 22:47:02 +02:00
Ali Mohammad Pur
f0e7e5bbe8
Meta: Un-escape escaped strings when generating Wasm tests
2021-08-12 21:03:53 +02:00
Ali Mohammad Pur
799471d16f
Meta: Don't roundtrip floats for i64/i32 hex literals in wasm tests
2021-08-12 21:03:53 +02:00
Ali Mohammad Pur
f5d4e26ff7
Meta+LibWasm: Correctly parse the invokee name in toplevel invokes
2021-07-06 17:55:00 +04:30
Ali Mohammad Pur
963f5e69e0
Meta+LibWasm: Generate calls to functions when they don't have results
2021-07-06 17:55:00 +04:30
Ali Mohammad Pur
79d4913f76
LibWasm: Generate all spec tests, even ones that aren't valid modules
...
`wasm-as` will do some semantic analysis on the modules, which is not
something we're looking for here.
Instead, use `wat2wasm` to generate the exact module.
2021-06-22 00:26:25 +04:30
Ali Mohammad Pur
9c5d38b7db
Meta+LibWasm: Add support for module linking tests
...
This commit makes the linking tests in the wasm spec test run.
2021-06-22 00:26:25 +04:30
Ali Mohammad Pur
d7ba15371b
Meta: Don't make wasm tests pass when they cannot read a module
...
Instead, just let them be treated as failing their respective test.
2021-06-04 16:07:42 +04:30
Ali Mohammad Pur
6b5d1eedcb
Meta: Make the wasm test generator cast numbers to i32 when needed
...
Otherwise the sign would be out of whack
2021-06-02 16:09:16 +04:30
Ali Mohammad Pur
7fb458b7c9
Meta: Generate failing tests for unsupported assertions in wasm tests
...
Let's not ignore a test just because our test generator doesn't
understand it, assume the worst and generate a failing test case
instead.
2021-06-02 16:09:16 +04:30
Ali Mohammad Pur
b2bd5132c4
Meta: Correctly parse numeric literals in wasm tests
...
This was previously parsing them as hex numbers, causing tests to fail.
With this fix, 88% of the generated tests are passing :^)
2021-05-27 17:28:41 +04:30
Ali Mohammad Pur
24b2a6c93a
LibWasm+Meta: Implement instantiation/execution primitives in test-wasm
...
This also optionally generates a test suite from the WebAssembly
testsuite, which can be enabled via passing `INCLUDE_WASM_SPEC_TESTS`
to cmake, which will generate test-wasm-compatible tests and the
required fixtures.
The generated directories are excluded from git since there's no point
in committing them.
2021-05-21 00:15:23 +01:00