test(binary.wast): adjust br_table length test to work with streaming validation #1715
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Current implementation fails on streaming validation due to interpreting
0x020x0b
as block with type 11 which doesn't exist; so add enough types such that0x0b
resolves to a valid one, thereby passing validation and erroring at the expected state.This was previously reported in #1355 but never fixed, and I've just discovered it for myself.
Suggestions for making this more realistic or safe welcome! I'm a bit concerned about adding so many duplicate types in here but I don't believe that's illegal according to spec. My first pass at this changed the first
0x0b
to an0x00
but that breaks the realism a bit too much since you need the 3 breaks and the wild0x00
makes no sense. The test is trying to get at the br_table having a missing byte.