Skip to content

Improve interpreter spec test coverage #8261

@stevenfontanella

Description

@stevenfontanella

Failing spec tests as of November:

test/spec/

  • const.wast,
  • linking.wast,
  • unreached-invalid.wast,
  • elem.wast,

test/spec/testsuite/

  • address.wast, # 64-bit offset allowed by memory64
  • array_new_elem.wast, # Failure to parse element segment item abbreviation
  • binary.wast, # Missing data count section validation
  • call_indirect64.wast, # Failure to parse element segment abbreviation
  • comments.wast, # Issue with carriage returns being treated as newlines
  • const.wast, # Hex float constant not recognized as out of range
  • conversions.wast, # Promoted NaN should be canonical
  • data.wast, # Fail to parse data segment offset abbreviation
  • elem.wast, # Requires modeling empty declarative segments
  • f32.wast, # Adding -0 and -nan should give a canonical NaN
  • f64.wast, # Adding -0 and -nan should give a canonical NaN
  • float_exprs.wast, # Adding 0 and NaN should give canonical NaN
  • float_misc.wast, # Rounding wrong on f64.sqrt
  • func.wast, # Duplicate parameter names not properly rejected
  • global.wast, # Fail to parse table
  • if.wast, # Requires more precise unreachable validation
  • imports.wast, # Missing validation of missing function on instantiation
  • proposals/threads/imports.wast, # Missing memory type validation on instantiation
  • linking.wast, # Missing function type validation on instantiation
  • memory.wast, # Requires wast module definition support
  • proposals/threads/memory.wast, # Missing memory type validation on instantiation
  • memory64-imports.wast, # Missing validation on instantiation
  • annotations.wast, # String annotations IDs should be allowed
  • id.wast, # Empty IDs should be disallowed
  • instance.wast, # Requires wast module definition support
  • table64.wast, # Requires wast module definition support
  • table_grow.wast, # Incorrect table linking semantics in interpreter
  • tag.wast, # Non-empty tag results allowed by stack switching
  • try_table.wast, # Requires try_table interpretation
  • local_init.wast, # Requires local validation to respect unnamed blocks
  • ref_func.wast, # Requires rejecting undeclared functions references
  • ref_is_null.wast, # Requires ref.null wast constants
  • ref_null.wast, # Requires ref.null wast constants
  • return_call_indirect.wast, # Requires more precise unreachable validation
  • select.wast, # Requires ref.null wast constants
  • table.wast, # Requires support for table default elements
  • unreached-invalid.wast, # Requires more precise unreachable validation
  • array.wast, # Requires support for table default elements
  • br_if.wast, # Requires more precise branch validation
  • br_on_cast.wast, # Requires host references to not be externalized i31refs
  • br_on_cast_fail.wast, # Requires host references to not be externalized i31refs
  • extern.wast, # Requires ref.host wast constants
  • i31.wast, # Requires support for table default elements
  • ref_cast.wast, # Requires host references to not be externalized i31refs
  • ref_test.wast, # Requires host references to not be externalized i31refs
  • struct.wast, # Duplicate field names not properly rejected
  • type-rec.wast, # Missing function type validation on instantiation
  • type-subtyping.wast, # ShellExternalInterface::callTable does not handle subtyping
  • call_indirect.wast, # Bug with 64-bit inline element segment parsing
  • memory64.wast, # Requires wast module definition support
  • imports0.wast, # Missing memory type validation on instantiation
  • imports2.wast, # Missing memory type validation on instantiation
  • imports3.wast, # Missing memory type validation on instantiation
  • linking0.wast, # Missing memory type validation on instantiation
  • linking3.wast, # Fatal error on missing table.
  • i16x8_relaxed_q15mulr_s.wast, # Requires wast either support
  • i32x4_relaxed_trunc.wast, # Requires wast either support
  • i8x16_relaxed_swizzle.wast, # Requires wast either support
  • relaxed_dot_product.wast, # Requires wast either support
  • relaxed_laneselect.wast, # Requires wast either support
  • relaxed_madd_nmadd.wast, # Requires wast either support
  • relaxed_min_max.wast, # Requires wast either support
  • simd_const.wast, # Hex float constant not recognized as out of range
  • simd_conversions.wast, # Promoted NaN should be canonical
  • simd_f32x4.wast, # Min of 0 and NaN should give a canonical NaN
  • simd_f32x4_arith.wast, # Adding inf and -inf should give a canonical NaN
  • simd_f32x4_rounding.wast, # Ceil of NaN should give a canonical NaN
  • simd_f64x2.wast, # Min of 0 and NaN should give a canonical NaN
  • simd_f64x2_arith.wast, # Adding inf and -inf should give a canonical NaN
  • simd_f64x2_rounding.wast, # Ceil of NaN should give a canonical NaN
  • simd_i32x4_cmp.wast, # UBSan error on integer overflow
  • simd_i32x4_arith2.wast, # UBSan error on integer overflow
  • simd_i32x4_dot_i16x8.wast, # UBSan error on integer overflow
  • token.wast, # Lexer should require spaces between strings and non-paren tokens

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions