WebAssembly / spec

WebAssembly specification, reference interpreter, and test suite.
https://webassembly.github.io/spec/
Other
3.11k stars 439 forks source link

[test] Remove malformed tests that become valid with memory64 #1648

Closed backes closed 1 year ago

backes commented 1 year ago

With memory64, memory offsets will be decoded as u64. An engine implementing this will fail tests that test that we reject such module. Thus remove those tests from the main spec repo now; they should be added back in the memory64 repo, but changed to assert_trap tests.

backes commented 1 year ago

Thanks, Andreas, that makes sense. First part done, will address the second part now (in the memory64 repo).

backes commented 1 year ago

Sorry, I just noticed that something is off here when preparing the change in the memory64 repo. The tests were moved from binary.wast to binary-leb128.wast in #1019, but then came back when merging the bulk instructions & reference types proposals (#1287).

That would mean that we should indeed remove the tests from binary.wast, and maybe just already merge those few changes to binary-leb128.wast to make it fail both before and after memory64.

Not sure how to check if there were more such merge errors in #1287.

sbc100 commented 1 year ago

The memory64 repo is currently quite out-of-date with upstream I'm afraid. I've been struggling to find time to resolve the merge conflicts (my OCaml skills is not too sharp yet) to get it up-to-date.

backes commented 1 year ago

@sbc100 I guess that's fine for now, and is not what's causing the problems.

I uploaded #1649 to remove the duplicated tests (merge error in #1287) and #1650 to make the tests memory64-ready, which I think is better than commenting them out.