From 6a5cbb94fad9b375469d6433429521988b1de20b Mon Sep 17 00:00:00 2001 From: Keith Winstein <208955+keithw@users.noreply.github.com> Date: Wed, 30 Oct 2024 20:00:59 -0700 Subject: [PATCH] Update testsuite (#2495) The memory64 `table.wast` test has started to depend on function-references and gc (which WABT doesn't support yet), so vendor an older version of the test. --- src/binary-reader.cc | 3 +- src/error-formatter.cc | 5 +- src/interp/interp.cc | 8 + src/shared-validator.cc | 13 +- .../data-count-without-data-section.txt | 14 - test/spec/align.txt | 15 +- test/spec/binary.txt | 122 +++++-- test/spec/call_indirect.txt | 21 +- test/spec/exception-handling/binary.txt | 122 +++++-- test/spec/exception-handling/imports.txt | 130 +++---- test/spec/float_exprs.txt | 2 +- test/spec/float_misc.txt | 2 +- test/spec/imports.txt | 130 +++---- test/spec/memory.txt | 2 +- test/spec/memory64/binary.txt | 268 ++++++-------- test/spec/memory64/binary0.txt | 10 + test/spec/memory64/call_indirect.txt | 1 + test/spec/memory64/imports.txt | 340 ++++++++++++++++++ test/spec/memory64/memory.txt | 98 +++-- test/spec/memory64/memory64.txt | 58 ++- test/spec/memory64/table.txt | 101 +++++- test/spec/memory64/table_copy_mixed.txt | 15 + test/spec/memory64/table_grow.txt | 30 +- test/spec/memory_grow.txt | 30 +- test/spec/multi-memory/align.txt | 311 ++++++++++++++++ test/spec/multi-memory/binary.txt | 122 +++++-- test/spec/multi-memory/imports.txt | 124 +++---- test/spec/multi-memory/memory.txt | 2 +- test/spec/multi-memory/memory_grow.txt | 38 +- test/spec/relaxed-simd/relaxed_madd_nmadd.txt | 2 +- test/spec/table_grow.txt | 30 +- test/spec/tail-call/return_call_indirect.txt | 1 + .../bad-returncallindirect-no-table.txt | 3 + .../spec/exception-handling/imports.txt | 2 +- test/wasm2c/spec/float_exprs.txt | 2 +- test/wasm2c/spec/float_misc.txt | 2 +- test/wasm2c/spec/imports.txt | 2 +- test/wasm2c/spec/memory.txt | 2 +- test/wasm2c/spec/memory64/binary0.txt | 6 + test/wasm2c/spec/memory64/imports.txt | 19 + test/wasm2c/spec/memory64/memory.txt | 2 +- test/wasm2c/spec/memory64/table.txt | 78 +++- .../wasm2c/spec/memory64/table_copy_mixed.txt | 6 + test/wasm2c/spec/memory64/table_grow.txt | 2 +- test/wasm2c/spec/memory_grow.txt | 2 +- test/wasm2c/spec/multi-memory/align.txt | 6 + test/wasm2c/spec/multi-memory/imports.txt | 2 +- test/wasm2c/spec/multi-memory/memory.txt | 2 +- test/wasm2c/spec/multi-memory/memory_grow.txt | 2 +- test/wasm2c/spec/table_grow.txt | 2 +- third_party/testsuite | 2 +- 51 files changed, 1636 insertions(+), 678 deletions(-) delete mode 100644 test/regress/data-count-without-data-section.txt create mode 100644 test/spec/memory64/binary0.txt create mode 100644 test/spec/memory64/imports.txt create mode 100644 test/spec/memory64/table_copy_mixed.txt create mode 100644 test/spec/multi-memory/align.txt create mode 100644 test/wasm2c/spec/memory64/binary0.txt create mode 100644 test/wasm2c/spec/memory64/imports.txt create mode 100644 test/wasm2c/spec/memory64/table_copy_mixed.txt create mode 100644 test/wasm2c/spec/multi-memory/align.txt diff --git a/src/binary-reader.cc b/src/binary-reader.cc index a0b31787e6..33801a7d5e 100644 --- a/src/binary-reader.cc +++ b/src/binary-reader.cc @@ -3044,7 +3044,8 @@ Result BinaryReader::ReadModule(const ReadModuleOptions& options) { "function signature count != function body count"); // This is checked in ReadDataSection, but it must be checked at the end too, // in case the data section was omitted. - ERROR_IF(num_data_segments_ == 0 && data_count_ != kInvalidIndex, + ERROR_IF(num_data_segments_ == 0 && data_count_ != kInvalidIndex && + data_count_ != 0, "Data section missing but DataCount non-zero"); CALLBACK0(EndModule); diff --git a/src/error-formatter.cc b/src/error-formatter.cc index 9a14cfac25..13b2bfd177 100644 --- a/src/error-formatter.cc +++ b/src/error-formatter.cc @@ -62,7 +62,10 @@ std::string FormatError(const Error& error, result += '\n'; result += indent_str; - size_t num_spaces = (loc.first_column - 1) - source_line.column_offset; + size_t num_spaces = 0; + if (loc.first_column > source_line.column_offset) { + num_spaces = (loc.first_column - 1) - source_line.column_offset; + } size_t num_carets = loc.last_column - loc.first_column; num_carets = std::min(num_carets, source_line.line.size() - num_spaces); num_carets = std::max(num_carets, 1); diff --git a/src/interp/interp.cc b/src/interp/interp.cc index 97f35f81fb..a3dd9b4a15 100644 --- a/src/interp/interp.cc +++ b/src/interp/interp.cc @@ -78,6 +78,14 @@ Result Match(const Limits& expected, } } + if (expected.is_64 && !actual.is_64) { + *out_msg = StringPrintf("expected i64 memory, but i32 memory provided"); + return Result::Error; + } else if (actual.is_64 && !expected.is_64) { + *out_msg = StringPrintf("expected i32 memory, but i64 memory provided"); + return Result::Error; + } + return Result::Ok; } diff --git a/src/shared-validator.cc b/src/shared-validator.cc index f9c268073d..914b534643 100644 --- a/src/shared-validator.cc +++ b/src/shared-validator.cc @@ -712,6 +712,11 @@ Result SharedValidator::OnCallIndirect(const Location& loc, TableType table_type; result |= CheckFuncTypeIndex(sig_var, &func_type); result |= CheckTableIndex(table_var, &table_type); + if (table_type.element != Type::FuncRef) { + result |= PrintError( + loc, + "type mismatch: call_indirect must reference table of funcref type"); + } result |= typechecker_.OnCallIndirect(func_type.params, func_type.results, table_type.limits); return result; @@ -1028,9 +1033,15 @@ Result SharedValidator::OnReturnCallIndirect(const Location& loc, Var sig_var, Var table_var) { Result result = CheckInstr(Opcode::CallIndirect, loc); - result |= CheckTableIndex(table_var); FuncType func_type; + TableType table_type; result |= CheckFuncTypeIndex(sig_var, &func_type); + result |= CheckTableIndex(table_var, &table_type); + if (table_type.element != Type::FuncRef) { + result |= PrintError(loc, + "type mismatch: return_call_indirect must reference " + "table of funcref type"); + } result |= typechecker_.OnReturnCallIndirect(func_type.params, func_type.results); return result; diff --git a/test/regress/data-count-without-data-section.txt b/test/regress/data-count-without-data-section.txt deleted file mode 100644 index 8fa1ed69af..0000000000 --- a/test/regress/data-count-without-data-section.txt +++ /dev/null @@ -1,14 +0,0 @@ -;;; TOOL: run-interp-spec -(assert_malformed - (module binary - "\00asm" "\01\00\00\00" - "\05\03\01\00\01" ;; Memory section with one entry - "\0c\01\01" ;; Data count section with value 1 - ) - "data count and data section have inconsistent lengths" -) -(;; STDOUT ;;; -out/test/regress/data-count-without-data-section.txt:3: assert_malformed passed: - 0000010: error: Data section missing but DataCount non-zero -1/1 tests passed. -;;; STDOUT ;;) diff --git a/test/spec/align.txt b/test/spec/align.txt index 447bdedea2..5fcd16c7e7 100644 --- a/test/spec/align.txt +++ b/test/spec/align.txt @@ -297,5 +297,18 @@ out/test/spec/align.wast:452: assert_invalid passed: out/test/spec/align/align.105.wasm:000002a: error: alignment must not be larger than natural alignment (8) 000002a: error: OnStoreExpr callback failed out/test/spec/align.wast:864: assert_trap passed: out of bounds memory access: access at 65532+8 >= max value 65536 -156/156 tests passed. +out/test/spec/align.wast:873: assert_invalid passed: + out/test/spec/align/align.108.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/align.wast:892: assert_malformed passed: + 0000020: error: invalid load alignment: 32 +out/test/spec/align.wast:911: assert_malformed passed: + 0000020: error: invalid load alignment: 33 +out/test/spec/align.wast:930: assert_malformed passed: + 0000020: error: invalid load alignment: 63 +out/test/spec/align.wast:949: assert_malformed passed: + 0000020: error: multi_memory not allowed +out/test/spec/align.wast:968: assert_malformed passed: + 0000020: error: multi_memory not allowed +162/162 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/binary.txt b/test/spec/binary.txt index 3ad2c15af0..fd20a65156 100644 --- a/test/spec/binary.txt +++ b/test/spec/binary.txt @@ -113,79 +113,125 @@ out/test/spec/binary.wast:431: assert_malformed passed: 0000015: error: function signature count != function body count out/test/spec/binary.wast:454: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/binary.wast:464: assert_malformed passed: +out/test/spec/binary.wast:466: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/binary.wast:474: assert_malformed passed: +out/test/spec/binary.wast:478: assert_malformed passed: + 0000010: error: Data section missing but DataCount non-zero +out/test/spec/binary.wast:494: assert_malformed passed: 0000024: error: memory.init requires data count section -out/test/spec/binary.wast:496: assert_malformed passed: +out/test/spec/binary.wast:517: assert_malformed passed: 000001e: error: data.drop requires data count section -out/test/spec/binary.wast:515: assert_malformed passed: +out/test/spec/binary.wast:537: assert_malformed passed: 0000024: error: unexpected opcode: 0xf3 -out/test/spec/binary.wast:541: assert_malformed passed: +out/test/spec/binary.wast:565: assert_malformed passed: 0000022: error: table elem type must be a reference type -out/test/spec/binary.wast:622: assert_malformed passed: +out/test/spec/binary.wast:650: assert_malformed passed: 000000a: error: invalid section size: extends past end -out/test/spec/binary.wast:633: assert_malformed passed: +out/test/spec/binary.wast:661: assert_malformed passed: 000000e: error: unfinished section (expected end: 0x11) -out/test/spec/binary.wast:652: assert_malformed passed: +out/test/spec/binary.wast:680: assert_malformed passed: 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/binary.wast:662: assert_malformed passed: +out/test/spec/binary.wast:690: assert_malformed passed: 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/binary.wast:673: assert_malformed passed: +out/test/spec/binary.wast:701: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/binary.wast:683: assert_malformed passed: +out/test/spec/binary.wast:711: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/binary.wast:694: assert_malformed passed: +out/test/spec/binary.wast:722: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/binary.wast:704: assert_malformed passed: +out/test/spec/binary.wast:732: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/binary.wast:717: assert_malformed passed: +out/test/spec/binary.wast:745: assert_malformed passed: 0000027: error: unable to read u32 leb128: string length -out/test/spec/binary.wast:736: assert_malformed passed: +out/test/spec/binary.wast:764: assert_malformed passed: 000002b: error: unfinished section (expected end: 0x40) -out/test/spec/binary.wast:767: assert_malformed passed: +out/test/spec/binary.wast:795: assert_malformed passed: 000000b: error: invalid table count 1, only 0 bytes left in section -out/test/spec/binary.wast:777: assert_malformed passed: +out/test/spec/binary.wast:805: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/binary.wast:786: assert_malformed passed: +out/test/spec/binary.wast:814: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/binary.wast:796: assert_malformed passed: +out/test/spec/binary.wast:824: assert_malformed passed: 000000d: error: malformed table limits flag: 129 -out/test/spec/binary.wast:814: assert_malformed passed: +out/test/spec/binary.wast:842: assert_malformed passed: 000000b: error: invalid memory count 1, only 0 bytes left in section -out/test/spec/binary.wast:824: assert_malformed passed: +out/test/spec/binary.wast:852: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/binary.wast:832: assert_malformed passed: +out/test/spec/binary.wast:860: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/binary.wast:841: assert_malformed passed: +out/test/spec/binary.wast:869: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/binary.wast:850: assert_malformed passed: +out/test/spec/binary.wast:878: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/binary.wast:867: assert_malformed passed: +out/test/spec/binary.wast:895: assert_malformed passed: 0000010: error: unable to read i32 leb128: global type -out/test/spec/binary.wast:878: assert_malformed passed: +out/test/spec/binary.wast:906: assert_malformed passed: 0000010: error: unfinished section (expected end: 0x15) -out/test/spec/binary.wast:901: assert_malformed passed: +out/test/spec/binary.wast:929: assert_malformed passed: 000001b: error: unable to read u32 leb128: string length -out/test/spec/binary.wast:922: assert_malformed passed: +out/test/spec/binary.wast:950: assert_malformed passed: 000001b: error: unfinished section (expected end: 0x20) -out/test/spec/binary.wast:956: assert_malformed passed: +out/test/spec/binary.wast:984: assert_malformed passed: 0000021: error: unable to read u32 leb128: elem segment flags -out/test/spec/binary.wast:972: assert_malformed passed: +out/test/spec/binary.wast:1000: assert_malformed passed: 0000024: error: init expression must end with END opcode -out/test/spec/binary.wast:989: assert_malformed passed: +out/test/spec/binary.wast:1017: assert_malformed passed: 0000021: error: unfinished section (expected end: 0x27) -out/test/spec/binary.wast:1015: assert_malformed passed: +out/test/spec/binary.wast:1043: assert_malformed passed: 0000016: error: unable to read u32 leb128: data segment flags -out/test/spec/binary.wast:1028: assert_malformed passed: +out/test/spec/binary.wast:1056: assert_malformed passed: 0000016: error: unfinished section (expected end: 0x1c) -out/test/spec/binary.wast:1041: assert_malformed passed: +out/test/spec/binary.wast:1069: assert_malformed passed: 0000015: error: unable to read data: data segment data -out/test/spec/binary.wast:1055: assert_malformed passed: +out/test/spec/binary.wast:1083: assert_malformed passed: 000001a: error: unfinished section (expected end: 0x1b) -out/test/spec/binary.wast:1086: assert_malformed passed: +out/test/spec/binary.wast:1114: assert_malformed passed: 0000048: error: function body must end with END opcode -out/test/spec/binary.wast:1133: assert_malformed passed: +out/test/spec/binary.wast:1161: assert_malformed passed: 0000017: error: multiple Start sections -112/112 tests passed. +out/test/spec/binary.wast:1178: assert_malformed passed: + 0000014: error: multiple Function sections +out/test/spec/binary.wast:1190: assert_malformed passed: + 0000016: error: function signature count != function body count +out/test/spec/binary.wast:1202: assert_malformed passed: + 000000d: error: multiple DataCount sections +out/test/spec/binary.wast:1212: assert_malformed passed: + 000000d: error: multiple Data sections +out/test/spec/binary.wast:1222: assert_malformed passed: + 000000d: error: multiple Global sections +out/test/spec/binary.wast:1232: assert_malformed passed: + 000000d: error: multiple Export sections +out/test/spec/binary.wast:1242: assert_malformed passed: + 000000d: error: multiple Table sections +out/test/spec/binary.wast:1252: assert_malformed passed: + 000000d: error: multiple Elem sections +out/test/spec/binary.wast:1262: assert_malformed passed: + 000000d: error: multiple Import sections +out/test/spec/binary.wast:1272: assert_malformed passed: + 000000d: error: multiple Type sections +out/test/spec/binary.wast:1282: assert_malformed passed: + 000000d: error: multiple Memory sections +out/test/spec/binary.wast:1292: assert_malformed passed: + 000000d: error: section Type out of order +out/test/spec/binary.wast:1302: assert_malformed passed: + 000000d: error: section Import out of order +out/test/spec/binary.wast:1312: assert_malformed passed: + 000000d: error: section Function out of order +out/test/spec/binary.wast:1322: assert_malformed passed: + 000000d: error: section Table out of order +out/test/spec/binary.wast:1332: assert_malformed passed: + 000000d: error: section Memory out of order +out/test/spec/binary.wast:1342: assert_malformed passed: + 000000d: error: section Global out of order +out/test/spec/binary.wast:1352: assert_malformed passed: + 0000011: error: section Export out of order +out/test/spec/binary.wast:1363: assert_malformed passed: + 0000011: error: section Start out of order +out/test/spec/binary.wast:1374: assert_malformed passed: + 000000d: error: section Elem out of order +out/test/spec/binary.wast:1384: assert_malformed passed: + 000000d: error: section DataCount out of order +out/test/spec/binary.wast:1394: assert_malformed passed: + 000000d: error: section Code out of order +136/136 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/call_indirect.txt b/test/spec/call_indirect.txt index a950b15e93..b4b2d55f28 100644 --- a/test/spec/call_indirect.txt +++ b/test/spec/call_indirect.txt @@ -86,6 +86,7 @@ out/test/spec/call_indirect.wast:776: assert_malformed passed: ^^^^^^^^^^^^^ out/test/spec/call_indirect.wast:791: assert_invalid passed: out/test/spec/call_indirect/call_indirect.13.wasm:000001c: error: table variable out of range: 0 (max 0) + out/test/spec/call_indirect/call_indirect.13.wasm:000001c: error: type mismatch: call_indirect must reference table of funcref type 000001c: error: OnCallIndirectExpr callback failed out/test/spec/call_indirect.wast:799: assert_invalid passed: out/test/spec/call_indirect/call_indirect.14.wasm:0000023: error: type mismatch in i32.eqz, expected [i32] but got [] @@ -141,14 +142,20 @@ out/test/spec/call_indirect.wast:961: assert_invalid passed: out/test/spec/call_indirect.wast:977: assert_invalid passed: out/test/spec/call_indirect/call_indirect.31.wasm:000003d: error: type mismatch in call_indirect, expected [i32, i32] but got [i32] 000003d: error: OnCallIndirectExpr callback failed -out/test/spec/call_indirect.wast:997: assert_invalid passed: - out/test/spec/call_indirect/call_indirect.32.wasm:0000022: error: function type variable out of range: 1 (max 1) +out/test/spec/call_indirect.wast:995: assert_invalid passed: + out/test/spec/call_indirect/call_indirect.32.wasm:0000022: error: type mismatch: call_indirect must reference table of funcref type 0000022: error: OnCallIndirectExpr callback failed -out/test/spec/call_indirect.wast:1004: assert_invalid passed: - out/test/spec/call_indirect/call_indirect.33.wasm:0000026: error: function type variable out of range: 1012321300 (max 1) +out/test/spec/call_indirect.wast:1006: assert_invalid passed: + out/test/spec/call_indirect/call_indirect.33.wasm:0000022: error: function type variable out of range: 1 (max 1) + 0000022: error: OnCallIndirectExpr callback failed +out/test/spec/call_indirect.wast:1013: assert_invalid passed: + out/test/spec/call_indirect/call_indirect.34.wasm:0000026: error: function type variable out of range: 1012321300 (max 1) 0000026: error: OnCallIndirectExpr callback failed -out/test/spec/call_indirect.wast:1015: assert_invalid passed: - out/test/spec/call_indirect/call_indirect.34.wasm:0000018: error: function variable out of range: 0 (max 0) +out/test/spec/call_indirect.wast:1022: assert_invalid passed: + out/test/spec/call_indirect/call_indirect.35.wasm:000002e: error: function type variable out of range: 4294967295 (max 2) + 000002e: error: OnCallIndirectExpr callback failed +out/test/spec/call_indirect.wast:1038: assert_invalid passed: + out/test/spec/call_indirect/call_indirect.36.wasm:0000018: error: function variable out of range: 0 (max 0) 0000018: error: OnRefFuncExpr callback failed -170/170 tests passed. +172/172 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/exception-handling/binary.txt b/test/spec/exception-handling/binary.txt index 3ac56eb746..8d253cf771 100644 --- a/test/spec/exception-handling/binary.txt +++ b/test/spec/exception-handling/binary.txt @@ -114,79 +114,125 @@ out/test/spec/exception-handling/binary.wast:431: assert_malformed passed: 0000015: error: function signature count != function body count out/test/spec/exception-handling/binary.wast:454: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/exception-handling/binary.wast:464: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:466: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/exception-handling/binary.wast:474: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:478: assert_malformed passed: + 0000010: error: Data section missing but DataCount non-zero +out/test/spec/exception-handling/binary.wast:494: assert_malformed passed: 0000024: error: memory.init requires data count section -out/test/spec/exception-handling/binary.wast:496: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:517: assert_malformed passed: 000001e: error: data.drop requires data count section -out/test/spec/exception-handling/binary.wast:515: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:537: assert_malformed passed: 0000024: error: unexpected opcode: 0xf3 -out/test/spec/exception-handling/binary.wast:541: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:565: assert_malformed passed: 0000022: error: table elem type must be a reference type -out/test/spec/exception-handling/binary.wast:622: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:650: assert_malformed passed: 000000a: error: invalid section size: extends past end -out/test/spec/exception-handling/binary.wast:633: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:661: assert_malformed passed: 000000e: error: unfinished section (expected end: 0x11) -out/test/spec/exception-handling/binary.wast:652: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:680: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/exception-handling/binary.wast:662: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:690: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/exception-handling/binary.wast:673: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:701: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/exception-handling/binary.wast:683: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:711: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/exception-handling/binary.wast:694: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:722: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/exception-handling/binary.wast:704: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:732: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/exception-handling/binary.wast:717: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:745: assert_malformed passed: 0000027: error: unable to read u32 leb128: string length -out/test/spec/exception-handling/binary.wast:736: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:764: assert_malformed passed: 000002b: error: unfinished section (expected end: 0x40) -out/test/spec/exception-handling/binary.wast:767: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:795: assert_malformed passed: 000000b: error: invalid table count 1, only 0 bytes left in section -out/test/spec/exception-handling/binary.wast:777: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:805: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/exception-handling/binary.wast:786: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:814: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/exception-handling/binary.wast:796: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:824: assert_malformed passed: 000000d: error: malformed table limits flag: 129 -out/test/spec/exception-handling/binary.wast:814: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:842: assert_malformed passed: 000000b: error: invalid memory count 1, only 0 bytes left in section -out/test/spec/exception-handling/binary.wast:824: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:852: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/exception-handling/binary.wast:832: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:860: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/exception-handling/binary.wast:841: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:869: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/exception-handling/binary.wast:850: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:878: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/exception-handling/binary.wast:867: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:895: assert_malformed passed: 0000010: error: unable to read i32 leb128: global type -out/test/spec/exception-handling/binary.wast:878: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:906: assert_malformed passed: 0000010: error: unfinished section (expected end: 0x15) -out/test/spec/exception-handling/binary.wast:901: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:929: assert_malformed passed: 000001b: error: unable to read u32 leb128: string length -out/test/spec/exception-handling/binary.wast:922: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:950: assert_malformed passed: 000001b: error: unfinished section (expected end: 0x20) -out/test/spec/exception-handling/binary.wast:956: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:984: assert_malformed passed: 0000021: error: unable to read u32 leb128: elem segment flags -out/test/spec/exception-handling/binary.wast:972: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1000: assert_malformed passed: 0000024: error: init expression must end with END opcode -out/test/spec/exception-handling/binary.wast:989: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1017: assert_malformed passed: 0000021: error: unfinished section (expected end: 0x27) -out/test/spec/exception-handling/binary.wast:1015: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1043: assert_malformed passed: 0000016: error: unable to read u32 leb128: data segment flags -out/test/spec/exception-handling/binary.wast:1028: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1056: assert_malformed passed: 0000016: error: unfinished section (expected end: 0x1c) -out/test/spec/exception-handling/binary.wast:1041: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1069: assert_malformed passed: 0000015: error: unable to read data: data segment data -out/test/spec/exception-handling/binary.wast:1055: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1083: assert_malformed passed: 000001a: error: unfinished section (expected end: 0x1b) -out/test/spec/exception-handling/binary.wast:1086: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1114: assert_malformed passed: 0000048: error: function body must end with END opcode -out/test/spec/exception-handling/binary.wast:1133: assert_malformed passed: +out/test/spec/exception-handling/binary.wast:1161: assert_malformed passed: 0000017: error: multiple Start sections -112/112 tests passed. +out/test/spec/exception-handling/binary.wast:1178: assert_malformed passed: + 0000014: error: multiple Function sections +out/test/spec/exception-handling/binary.wast:1190: assert_malformed passed: + 0000016: error: function signature count != function body count +out/test/spec/exception-handling/binary.wast:1202: assert_malformed passed: + 000000d: error: multiple DataCount sections +out/test/spec/exception-handling/binary.wast:1212: assert_malformed passed: + 000000d: error: multiple Data sections +out/test/spec/exception-handling/binary.wast:1222: assert_malformed passed: + 000000d: error: multiple Global sections +out/test/spec/exception-handling/binary.wast:1232: assert_malformed passed: + 000000d: error: multiple Export sections +out/test/spec/exception-handling/binary.wast:1242: assert_malformed passed: + 000000d: error: multiple Table sections +out/test/spec/exception-handling/binary.wast:1252: assert_malformed passed: + 000000d: error: multiple Elem sections +out/test/spec/exception-handling/binary.wast:1262: assert_malformed passed: + 000000d: error: multiple Import sections +out/test/spec/exception-handling/binary.wast:1272: assert_malformed passed: + 000000d: error: multiple Type sections +out/test/spec/exception-handling/binary.wast:1282: assert_malformed passed: + 000000d: error: multiple Memory sections +out/test/spec/exception-handling/binary.wast:1292: assert_malformed passed: + 000000d: error: section Type out of order +out/test/spec/exception-handling/binary.wast:1302: assert_malformed passed: + 000000d: error: section Import out of order +out/test/spec/exception-handling/binary.wast:1312: assert_malformed passed: + 000000d: error: section Function out of order +out/test/spec/exception-handling/binary.wast:1322: assert_malformed passed: + 000000d: error: section Table out of order +out/test/spec/exception-handling/binary.wast:1332: assert_malformed passed: + 000000d: error: section Memory out of order +out/test/spec/exception-handling/binary.wast:1342: assert_malformed passed: + 000000d: error: section Global out of order +out/test/spec/exception-handling/binary.wast:1352: assert_malformed passed: + 0000011: error: section Export out of order +out/test/spec/exception-handling/binary.wast:1363: assert_malformed passed: + 0000011: error: section Start out of order +out/test/spec/exception-handling/binary.wast:1374: assert_malformed passed: + 000000d: error: section Elem out of order +out/test/spec/exception-handling/binary.wast:1384: assert_malformed passed: + 000000d: error: section DataCount out of order +out/test/spec/exception-handling/binary.wast:1394: assert_malformed passed: + 000000d: error: section Code out of order +136/136 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/exception-handling/imports.txt b/test/spec/exception-handling/imports.txt index c1d69108fc..09396e8ab1 100644 --- a/test/spec/exception-handling/imports.txt +++ b/test/spec/exception-handling/imports.txt @@ -124,134 +124,134 @@ out/test/spec/exception-handling/imports.wast:392: assert_trap passed: undefined out/test/spec/exception-handling/imports.wast:407: assert_trap passed: uninitialized table element out/test/spec/exception-handling/imports.wast:410: assert_trap passed: uninitialized table element out/test/spec/exception-handling/imports.wast:411: assert_trap passed: undefined table index -out/test/spec/exception-handling/imports.wast:443: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:442: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/exception-handling/imports.wast:447: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:446: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/exception-handling/imports.wast:452: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:451: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/exception-handling/imports.wast:456: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:455: assert_unlinkable passed: error: max size (unspecified) larger than declared (20) -out/test/spec/exception-handling/imports.wast:460: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:459: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/exception-handling/imports.wast:464: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:463: assert_unlinkable passed: error: max size (20) larger than declared (18) -out/test/spec/exception-handling/imports.wast:468: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:467: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/exception-handling/imports.wast:472: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:471: assert_unlinkable passed: error: max size (20) larger than declared (15) -out/test/spec/exception-handling/imports.wast:477: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:476: assert_unlinkable passed: error: expected import "test.func" to have kind table, not func -out/test/spec/exception-handling/imports.wast:481: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:480: assert_unlinkable passed: error: expected import "test.global-i32" to have kind table, not global -out/test/spec/exception-handling/imports.wast:485: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:484: assert_unlinkable passed: error: expected import "test.memory-2-inf" to have kind table, not memory -out/test/spec/exception-handling/imports.wast:489: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:488: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind table, not func -out/test/spec/exception-handling/imports.wast:507: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/exception-handling/imports.wast:518: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/exception-handling/imports.wast:521: assert_invalid passed: +out/test/spec/exception-handling/imports.wast:506: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/exception-handling/imports.wast:517: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/exception-handling/imports.wast:520: assert_invalid passed: out/test/spec/exception-handling/imports/imports.103.wasm:0000015: error: only one memory block allowed 0000015: error: OnImportMemory callback failed -out/test/spec/exception-handling/imports.wast:525: assert_invalid passed: +out/test/spec/exception-handling/imports.wast:524: assert_invalid passed: out/test/spec/exception-handling/imports/imports.104.wasm:0000015: error: only one memory block allowed 0000015: error: OnMemory callback failed -out/test/spec/exception-handling/imports.wast:529: assert_invalid passed: +out/test/spec/exception-handling/imports.wast:528: assert_invalid passed: out/test/spec/exception-handling/imports/imports.105.wasm:000000f: error: only one memory block allowed 000000f: error: OnMemory callback failed -out/test/spec/exception-handling/imports.wast:544: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:543: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/exception-handling/imports.wast:548: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:547: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/exception-handling/imports.wast:553: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:552: assert_unlinkable passed: error: actual size (2) smaller than declared (3) -out/test/spec/exception-handling/imports.wast:557: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:556: assert_unlinkable passed: error: max size (unspecified) larger than declared (3) -out/test/spec/exception-handling/imports.wast:561: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:560: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/exception-handling/imports.wast:565: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:564: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/exception-handling/imports.wast:570: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:569: assert_unlinkable passed: error: expected import "test.func-i32" to have kind memory, not func -out/test/spec/exception-handling/imports.wast:574: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:573: assert_unlinkable passed: error: expected import "test.global-i32" to have kind memory, not global -out/test/spec/exception-handling/imports.wast:578: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:577: assert_unlinkable passed: error: expected import "test.table-10-inf" to have kind memory, not table -out/test/spec/exception-handling/imports.wast:582: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:581: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind memory, not func -out/test/spec/exception-handling/imports.wast:586: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:585: assert_unlinkable passed: error: expected import "spectest.global_i32" to have kind memory, not global -out/test/spec/exception-handling/imports.wast:590: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:589: assert_unlinkable passed: error: expected import "spectest.table" to have kind memory, not table -out/test/spec/exception-handling/imports.wast:595: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:594: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/exception-handling/imports.wast:599: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:598: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/exception-handling/imports.wast:637: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.133.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:616: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.130.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (func)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:641: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.134.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:620: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.131.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (global i64)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:645: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.135.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:624: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.132.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:649: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.136.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:628: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.133.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:654: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.137.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:633: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.134.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (func)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:658: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.138.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:637: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.135.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (global f32)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:662: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.139.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:641: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.136.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:666: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.140.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:645: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.137.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:671: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.141.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:650: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.138.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (func)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:675: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.142.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:654: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.139.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (global i32)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:679: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.143.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:658: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.140.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:683: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.144.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:662: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.141.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:688: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.145.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:667: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.142.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (func)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:692: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.146.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:671: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.143.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (global i32)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:696: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.147.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:675: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.144.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (table 1 3 funcref)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:700: assert_malformed passed: - out/test/spec/exception-handling/imports/imports.148.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/exception-handling/imports.wast:679: assert_malformed passed: + out/test/spec/exception-handling/imports/imports.145.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (memory 1 2)) ^^^^^^ -out/test/spec/exception-handling/imports.wast:710: assert_unlinkable passed: +out/test/spec/exception-handling/imports.wast:689: assert_unlinkable passed: error: invalid import "not wasm.overloaded" -188/188 tests passed. +182/182 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/float_exprs.txt b/test/spec/float_exprs.txt index 54662d4158..47d33ecf19 100644 --- a/test/spec/float_exprs.txt +++ b/test/spec/float_exprs.txt @@ -11,5 +11,5 @@ init(i32:8, f64:15.200000) => init(i32:16, f64:15.300000) => init(i32:24, f64:15.400000) => run(i32:32, f64:3.000000) => -900/900 tests passed. +927/927 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/float_misc.txt b/test/spec/float_misc.txt index aa11bb904e..1a781b57b8 100644 --- a/test/spec/float_misc.txt +++ b/test/spec/float_misc.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-interp-spec ;;; STDIN_FILE: third_party/testsuite/float_misc.wast (;; STDOUT ;;; -441/441 tests passed. +471/471 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/imports.txt b/test/spec/imports.txt index 16ca9d505f..cce4173495 100644 --- a/test/spec/imports.txt +++ b/test/spec/imports.txt @@ -111,134 +111,134 @@ out/test/spec/imports.wast:360: assert_trap passed: undefined table index out/test/spec/imports.wast:375: assert_trap passed: uninitialized table element out/test/spec/imports.wast:378: assert_trap passed: uninitialized table element out/test/spec/imports.wast:379: assert_trap passed: undefined table index -out/test/spec/imports.wast:411: assert_unlinkable passed: +out/test/spec/imports.wast:410: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/imports.wast:415: assert_unlinkable passed: +out/test/spec/imports.wast:414: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/imports.wast:420: assert_unlinkable passed: +out/test/spec/imports.wast:419: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/imports.wast:424: assert_unlinkable passed: +out/test/spec/imports.wast:423: assert_unlinkable passed: error: max size (unspecified) larger than declared (20) -out/test/spec/imports.wast:428: assert_unlinkable passed: +out/test/spec/imports.wast:427: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/imports.wast:432: assert_unlinkable passed: +out/test/spec/imports.wast:431: assert_unlinkable passed: error: max size (20) larger than declared (18) -out/test/spec/imports.wast:436: assert_unlinkable passed: +out/test/spec/imports.wast:435: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/imports.wast:440: assert_unlinkable passed: +out/test/spec/imports.wast:439: assert_unlinkable passed: error: max size (20) larger than declared (15) -out/test/spec/imports.wast:445: assert_unlinkable passed: +out/test/spec/imports.wast:444: assert_unlinkable passed: error: expected import "test.func" to have kind table, not func -out/test/spec/imports.wast:449: assert_unlinkable passed: +out/test/spec/imports.wast:448: assert_unlinkable passed: error: expected import "test.global-i32" to have kind table, not global -out/test/spec/imports.wast:453: assert_unlinkable passed: +out/test/spec/imports.wast:452: assert_unlinkable passed: error: expected import "test.memory-2-inf" to have kind table, not memory -out/test/spec/imports.wast:457: assert_unlinkable passed: +out/test/spec/imports.wast:456: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind table, not func -out/test/spec/imports.wast:475: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/imports.wast:486: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/imports.wast:489: assert_invalid passed: +out/test/spec/imports.wast:474: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/imports.wast:485: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/imports.wast:488: assert_invalid passed: out/test/spec/imports/imports.97.wasm:0000015: error: only one memory block allowed 0000015: error: OnImportMemory callback failed -out/test/spec/imports.wast:493: assert_invalid passed: +out/test/spec/imports.wast:492: assert_invalid passed: out/test/spec/imports/imports.98.wasm:0000015: error: only one memory block allowed 0000015: error: OnMemory callback failed -out/test/spec/imports.wast:497: assert_invalid passed: +out/test/spec/imports.wast:496: assert_invalid passed: out/test/spec/imports/imports.99.wasm:000000f: error: only one memory block allowed 000000f: error: OnMemory callback failed -out/test/spec/imports.wast:512: assert_unlinkable passed: +out/test/spec/imports.wast:511: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/imports.wast:516: assert_unlinkable passed: +out/test/spec/imports.wast:515: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/imports.wast:521: assert_unlinkable passed: +out/test/spec/imports.wast:520: assert_unlinkable passed: error: actual size (2) smaller than declared (3) -out/test/spec/imports.wast:525: assert_unlinkable passed: +out/test/spec/imports.wast:524: assert_unlinkable passed: error: max size (unspecified) larger than declared (3) -out/test/spec/imports.wast:529: assert_unlinkable passed: +out/test/spec/imports.wast:528: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/imports.wast:533: assert_unlinkable passed: +out/test/spec/imports.wast:532: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/imports.wast:538: assert_unlinkable passed: +out/test/spec/imports.wast:537: assert_unlinkable passed: error: expected import "test.func-i32" to have kind memory, not func -out/test/spec/imports.wast:542: assert_unlinkable passed: +out/test/spec/imports.wast:541: assert_unlinkable passed: error: expected import "test.global-i32" to have kind memory, not global -out/test/spec/imports.wast:546: assert_unlinkable passed: +out/test/spec/imports.wast:545: assert_unlinkable passed: error: expected import "test.table-10-inf" to have kind memory, not table -out/test/spec/imports.wast:550: assert_unlinkable passed: +out/test/spec/imports.wast:549: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind memory, not func -out/test/spec/imports.wast:554: assert_unlinkable passed: +out/test/spec/imports.wast:553: assert_unlinkable passed: error: expected import "spectest.global_i32" to have kind memory, not global -out/test/spec/imports.wast:558: assert_unlinkable passed: +out/test/spec/imports.wast:557: assert_unlinkable passed: error: expected import "spectest.table" to have kind memory, not table -out/test/spec/imports.wast:563: assert_unlinkable passed: +out/test/spec/imports.wast:562: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/imports.wast:567: assert_unlinkable passed: +out/test/spec/imports.wast:566: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/imports.wast:605: assert_malformed passed: - out/test/spec/imports/imports.127.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:584: assert_malformed passed: + out/test/spec/imports/imports.124.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (func)) ^^^^^^ -out/test/spec/imports.wast:609: assert_malformed passed: - out/test/spec/imports/imports.128.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:588: assert_malformed passed: + out/test/spec/imports/imports.125.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (global i64)) ^^^^^^ -out/test/spec/imports.wast:613: assert_malformed passed: - out/test/spec/imports/imports.129.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:592: assert_malformed passed: + out/test/spec/imports/imports.126.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/imports.wast:617: assert_malformed passed: - out/test/spec/imports/imports.130.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:596: assert_malformed passed: + out/test/spec/imports/imports.127.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/imports.wast:622: assert_malformed passed: - out/test/spec/imports/imports.131.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:601: assert_malformed passed: + out/test/spec/imports/imports.128.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (func)) ^^^^^^ -out/test/spec/imports.wast:626: assert_malformed passed: - out/test/spec/imports/imports.132.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:605: assert_malformed passed: + out/test/spec/imports/imports.129.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (global f32)) ^^^^^^ -out/test/spec/imports.wast:630: assert_malformed passed: - out/test/spec/imports/imports.133.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:609: assert_malformed passed: + out/test/spec/imports/imports.130.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/imports.wast:634: assert_malformed passed: - out/test/spec/imports/imports.134.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:613: assert_malformed passed: + out/test/spec/imports/imports.131.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/imports.wast:639: assert_malformed passed: - out/test/spec/imports/imports.135.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:618: assert_malformed passed: + out/test/spec/imports/imports.132.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (func)) ^^^^^^ -out/test/spec/imports.wast:643: assert_malformed passed: - out/test/spec/imports/imports.136.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:622: assert_malformed passed: + out/test/spec/imports/imports.133.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (global i32)) ^^^^^^ -out/test/spec/imports.wast:647: assert_malformed passed: - out/test/spec/imports/imports.137.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:626: assert_malformed passed: + out/test/spec/imports/imports.134.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/imports.wast:651: assert_malformed passed: - out/test/spec/imports/imports.138.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:630: assert_malformed passed: + out/test/spec/imports/imports.135.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/imports.wast:656: assert_malformed passed: - out/test/spec/imports/imports.139.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:635: assert_malformed passed: + out/test/spec/imports/imports.136.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (func)) ^^^^^^ -out/test/spec/imports.wast:660: assert_malformed passed: - out/test/spec/imports/imports.140.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:639: assert_malformed passed: + out/test/spec/imports/imports.137.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (global i32)) ^^^^^^ -out/test/spec/imports.wast:664: assert_malformed passed: - out/test/spec/imports/imports.141.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:643: assert_malformed passed: + out/test/spec/imports/imports.138.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (table 1 3 funcref)) ^^^^^^ -out/test/spec/imports.wast:668: assert_malformed passed: - out/test/spec/imports/imports.142.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/imports.wast:647: assert_malformed passed: + out/test/spec/imports/imports.139.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (memory 1 2)) ^^^^^^ -out/test/spec/imports.wast:678: assert_unlinkable passed: +out/test/spec/imports.wast:657: assert_unlinkable passed: error: invalid import "not wasm.overloaded" -182/182 tests passed. +176/176 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory.txt b/test/spec/memory.txt index 0e60753965..b6d4339f26 100644 --- a/test/spec/memory.txt +++ b/test/spec/memory.txt @@ -82,5 +82,5 @@ out/test/spec/memory.wast:239: assert_malformed passed: out/test/spec/memory/memory.33.wat:1:32: error: redefinition of memory "$foo" (import "" "" (memory $foo 1))(import "" "" (memory $foo 1)) ^^^^^^ -79/79 tests passed. +88/88 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory64/binary.txt b/test/spec/memory64/binary.txt index 66ac3ad933..2844199341 100644 --- a/test/spec/memory64/binary.txt +++ b/test/spec/memory64/binary.txt @@ -59,7 +59,7 @@ out/test/spec/memory64/binary.wast:44: assert_malformed passed: out/test/spec/memory64/binary.wast:45: assert_malformed passed: 0000008: error: bad wasm file version: 0x1000000 (expected 0x1) out/test/spec/memory64/binary.wast:48: assert_malformed passed: - 000000a: error: invalid section code: 13 + 000000a: error: invalid section code: 14 out/test/spec/memory64/binary.wast:49: assert_malformed passed: 000000a: error: invalid section code: 127 out/test/spec/memory64/binary.wast:50: assert_malformed passed: @@ -68,217 +68,151 @@ out/test/spec/memory64/binary.wast:51: assert_malformed passed: 000000a: error: invalid section code: 129 out/test/spec/memory64/binary.wast:52: assert_malformed passed: 000000a: error: invalid section code: 255 -out/test/spec/memory64/binary.wast:210: assert_malformed passed: - 000000c: error: unexpected type form (got 0xe0) -out/test/spec/memory64/binary.wast:223: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:233: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:243: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:254: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:264: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:276: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:284: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:294: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:304: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:314: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:324: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:335: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:345: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:355: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:365: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:376: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:386: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:396: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:406: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:418: assert_malformed passed: +out/test/spec/memory64/binary.wast:56: assert_malformed passed: 000001b: error: function body must end with END opcode -out/test/spec/memory64/binary.wast:439: assert_malformed passed: +out/test/spec/memory64/binary.wast:77: assert_malformed passed: 000001a: error: function body must end with END opcode -out/test/spec/memory64/binary.wast:455: assert_malformed passed: +out/test/spec/memory64/binary.wast:93: assert_malformed passed: 000001a: error: function body must end with END opcode -out/test/spec/memory64/binary.wast:475: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:483: assert_malformed passed: - 0000022: error: unable to read u64 leb128: load offset -out/test/spec/memory64/binary.wast:502: assert_malformed passed: - 0000021: error: unable to read u32 leb128: load alignment -out/test/spec/memory64/binary.wast:521: assert_malformed passed: - 0000023: error: unable to read u32 leb128: store alignment -out/test/spec/memory64/binary.wast:540: assert_malformed passed: - 0000024: error: unable to read u64 leb128: store offset -out/test/spec/memory64/binary.wast:561: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:571: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:582: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:592: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:604: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:612: assert_malformed passed: - 000000c: error: unable to read u64 leb128: memory initial page count -out/test/spec/memory64/binary.wast:620: assert_malformed passed: - 0000022: error: unable to read u64 leb128: load offset -out/test/spec/memory64/binary.wast:639: assert_malformed passed: - 0000022: error: unable to read u64 leb128: load offset -out/test/spec/memory64/binary.wast:658: assert_malformed passed: - 0000021: error: unable to read u32 leb128: load alignment -out/test/spec/memory64/binary.wast:676: assert_malformed passed: - 0000021: error: unable to read u32 leb128: load alignment -out/test/spec/memory64/binary.wast:695: assert_malformed passed: - 0000023: error: unable to read u32 leb128: store alignment -out/test/spec/memory64/binary.wast:714: assert_malformed passed: - 0000023: error: unable to read u32 leb128: store alignment -out/test/spec/memory64/binary.wast:733: assert_malformed passed: - 0000024: error: unable to read u64 leb128: store offset -out/test/spec/memory64/binary.wast:752: assert_malformed passed: - 0000024: error: unable to read u64 leb128: store offset -out/test/spec/memory64/binary.wast:774: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:784: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:794: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:804: assert_malformed passed: - 000000e: error: unable to read i32 leb128: i32.const value -out/test/spec/memory64/binary.wast:815: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:825: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:835: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:845: assert_malformed passed: - 000000e: error: unable to read i64 leb128: i64.const value -out/test/spec/memory64/binary.wast:857: assert_malformed passed: - 0000020: error: memory.grow reserved value must be 0 -out/test/spec/memory64/binary.wast:877: assert_malformed passed: - 0000020: error: memory.grow reserved value must be 0 -out/test/spec/memory64/binary.wast:897: assert_malformed passed: - 0000020: error: memory.grow reserved value must be 0 -out/test/spec/memory64/binary.wast:916: assert_malformed passed: - 0000020: error: memory.grow reserved value must be 0 -out/test/spec/memory64/binary.wast:935: assert_malformed passed: - 0000020: error: memory.grow reserved value must be 0 -out/test/spec/memory64/binary.wast:955: assert_malformed passed: - 000001e: error: memory.size reserved value must be 0 -out/test/spec/memory64/binary.wast:974: assert_malformed passed: - 000001e: error: memory.size reserved value must be 0 -out/test/spec/memory64/binary.wast:993: assert_malformed passed: - 000001e: error: memory.size reserved value must be 0 -out/test/spec/memory64/binary.wast:1011: assert_malformed passed: - 000001e: error: memory.size reserved value must be 0 -out/test/spec/memory64/binary.wast:1029: assert_malformed passed: - 000001e: error: memory.size reserved value must be 0 -out/test/spec/memory64/binary.wast:1048: assert_malformed passed: +out/test/spec/memory64/binary.wast:113: assert_malformed passed: + 0000019: error: init expression must end with END opcode +out/test/spec/memory64/binary.wast:126: assert_malformed passed: 0000017: error: unable to read u32 leb128: local type count -out/test/spec/memory64/binary.wast:1065: assert_malformed passed: +out/test/spec/memory64/binary.wast:143: assert_malformed passed: 0000017: error: unable to read u32 leb128: local type count -out/test/spec/memory64/binary.wast:1082: assert_malformed passed: +out/test/spec/memory64/binary.wast:160: assert_malformed passed: 000001e: error: local count must be <= 0xffffffff -out/test/spec/memory64/binary.wast:1098: assert_malformed passed: +out/test/spec/memory64/binary.wast:176: assert_malformed passed: 0000030: error: local count must be <= 0xffffffff -out/test/spec/memory64/binary.wast:1132: assert_malformed passed: +out/test/spec/memory64/binary.wast:210: assert_malformed passed: 0000013: error: function signature count != function body count -out/test/spec/memory64/binary.wast:1142: assert_malformed passed: +out/test/spec/memory64/binary.wast:220: assert_malformed passed: 000000b: error: function signature count != function body count -out/test/spec/memory64/binary.wast:1151: assert_malformed passed: +out/test/spec/memory64/binary.wast:229: assert_malformed passed: 0000016: error: function signature count != function body count -out/test/spec/memory64/binary.wast:1162: assert_malformed passed: +out/test/spec/memory64/binary.wast:240: assert_malformed passed: 0000015: error: function signature count != function body count -out/test/spec/memory64/binary.wast:1185: assert_malformed passed: +out/test/spec/memory64/binary.wast:263: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/memory64/binary.wast:1195: assert_malformed passed: +out/test/spec/memory64/binary.wast:275: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/memory64/binary.wast:1205: assert_malformed passed: +out/test/spec/memory64/binary.wast:287: assert_malformed passed: + 0000010: error: Data section missing but DataCount non-zero +out/test/spec/memory64/binary.wast:303: assert_malformed passed: 0000024: error: memory.init requires data count section -out/test/spec/memory64/binary.wast:1227: assert_malformed passed: +out/test/spec/memory64/binary.wast:326: assert_malformed passed: 000001e: error: data.drop requires data count section -out/test/spec/memory64/binary.wast:1246: assert_malformed passed: +out/test/spec/memory64/binary.wast:346: assert_malformed passed: 0000024: error: unexpected opcode: 0xf3 -out/test/spec/memory64/binary.wast:1272: assert_malformed passed: +out/test/spec/memory64/binary.wast:374: assert_malformed passed: 0000022: error: table elem type must be a reference type -out/test/spec/memory64/binary.wast:1353: assert_malformed passed: +out/test/spec/memory64/binary.wast:459: assert_malformed passed: 000000a: error: invalid section size: extends past end -out/test/spec/memory64/binary.wast:1364: assert_malformed passed: +out/test/spec/memory64/binary.wast:470: assert_malformed passed: 000000e: error: unfinished section (expected end: 0x11) -out/test/spec/memory64/binary.wast:1383: assert_malformed passed: - 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/memory64/binary.wast:1393: assert_malformed passed: - 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/memory64/binary.wast:1404: assert_malformed passed: +out/test/spec/memory64/binary.wast:489: assert_malformed passed: + 000000e: error: malformed import kind: 5 +out/test/spec/memory64/binary.wast:499: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/memory64/binary.wast:1414: assert_malformed passed: +out/test/spec/memory64/binary.wast:510: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/memory64/binary.wast:1425: assert_malformed passed: +out/test/spec/memory64/binary.wast:520: assert_malformed passed: + 000000e: error: malformed import kind: 5 +out/test/spec/memory64/binary.wast:531: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/memory64/binary.wast:1435: assert_malformed passed: +out/test/spec/memory64/binary.wast:541: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/memory64/binary.wast:1448: assert_malformed passed: +out/test/spec/memory64/binary.wast:554: assert_malformed passed: 0000027: error: unable to read u32 leb128: string length -out/test/spec/memory64/binary.wast:1467: assert_malformed passed: +out/test/spec/memory64/binary.wast:573: assert_malformed passed: 000002b: error: unfinished section (expected end: 0x40) -out/test/spec/memory64/binary.wast:1498: assert_malformed passed: +out/test/spec/memory64/binary.wast:604: assert_malformed passed: 000000b: error: invalid table count 1, only 0 bytes left in section -out/test/spec/memory64/binary.wast:1508: assert_malformed passed: +out/test/spec/memory64/binary.wast:614: assert_malformed passed: 000000d: error: malformed table limits flag: 8 -out/test/spec/memory64/binary.wast:1517: assert_malformed passed: +out/test/spec/memory64/binary.wast:623: assert_malformed passed: 000000d: error: malformed table limits flag: 8 -out/test/spec/memory64/binary.wast:1527: assert_malformed passed: +out/test/spec/memory64/binary.wast:633: assert_malformed passed: 000000d: error: malformed table limits flag: 129 -out/test/spec/memory64/binary.wast:1545: assert_malformed passed: +out/test/spec/memory64/binary.wast:651: assert_malformed passed: 000000b: error: invalid memory count 1, only 0 bytes left in section -out/test/spec/memory64/binary.wast:1555: assert_malformed passed: +out/test/spec/memory64/binary.wast:661: assert_malformed passed: 000000c: error: malformed memory limits flag: 8 -out/test/spec/memory64/binary.wast:1563: assert_malformed passed: +out/test/spec/memory64/binary.wast:669: assert_malformed passed: 000000c: error: malformed memory limits flag: 8 -out/test/spec/memory64/binary.wast:1572: assert_malformed passed: +out/test/spec/memory64/binary.wast:678: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/memory64/binary.wast:1581: assert_malformed passed: +out/test/spec/memory64/binary.wast:687: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/memory64/binary.wast:1598: assert_malformed passed: +out/test/spec/memory64/binary.wast:704: assert_malformed passed: 0000010: error: unable to read i32 leb128: global type -out/test/spec/memory64/binary.wast:1609: assert_malformed passed: +out/test/spec/memory64/binary.wast:715: assert_malformed passed: 0000010: error: unfinished section (expected end: 0x15) -out/test/spec/memory64/binary.wast:1632: assert_malformed passed: +out/test/spec/memory64/binary.wast:738: assert_malformed passed: 000001b: error: unable to read u32 leb128: string length -out/test/spec/memory64/binary.wast:1653: assert_malformed passed: +out/test/spec/memory64/binary.wast:759: assert_malformed passed: 000001b: error: unfinished section (expected end: 0x20) -out/test/spec/memory64/binary.wast:1687: assert_malformed passed: +out/test/spec/memory64/binary.wast:793: assert_malformed passed: 0000021: error: unable to read u32 leb128: elem segment flags -out/test/spec/memory64/binary.wast:1703: assert_malformed passed: +out/test/spec/memory64/binary.wast:809: assert_malformed passed: 0000024: error: init expression must end with END opcode -out/test/spec/memory64/binary.wast:1720: assert_malformed passed: +out/test/spec/memory64/binary.wast:826: assert_malformed passed: 0000021: error: unfinished section (expected end: 0x27) -out/test/spec/memory64/binary.wast:1746: assert_malformed passed: +out/test/spec/memory64/binary.wast:852: assert_malformed passed: 0000016: error: unable to read u32 leb128: data segment flags -out/test/spec/memory64/binary.wast:1759: assert_malformed passed: +out/test/spec/memory64/binary.wast:865: assert_malformed passed: 0000016: error: unfinished section (expected end: 0x1c) -out/test/spec/memory64/binary.wast:1772: assert_malformed passed: +out/test/spec/memory64/binary.wast:878: assert_malformed passed: 0000015: error: unable to read data: data segment data -out/test/spec/memory64/binary.wast:1786: assert_malformed passed: +out/test/spec/memory64/binary.wast:892: assert_malformed passed: 000001a: error: unfinished section (expected end: 0x1b) -out/test/spec/memory64/binary.wast:1817: assert_malformed passed: +out/test/spec/memory64/binary.wast:923: assert_malformed passed: 0000048: error: function body must end with END opcode -out/test/spec/memory64/binary.wast:1864: assert_malformed passed: +out/test/spec/memory64/binary.wast:970: assert_malformed passed: 0000017: error: multiple Start sections -177/177 tests passed. +out/test/spec/memory64/binary.wast:987: assert_malformed passed: + 0000014: error: multiple Function sections +out/test/spec/memory64/binary.wast:999: assert_malformed passed: + 0000016: error: function signature count != function body count +out/test/spec/memory64/binary.wast:1011: assert_malformed passed: + 000000d: error: multiple DataCount sections +out/test/spec/memory64/binary.wast:1021: assert_malformed passed: + 000000d: error: multiple Data sections +out/test/spec/memory64/binary.wast:1031: assert_malformed passed: + 000000d: error: multiple Global sections +out/test/spec/memory64/binary.wast:1041: assert_malformed passed: + 000000d: error: multiple Export sections +out/test/spec/memory64/binary.wast:1051: assert_malformed passed: + 000000d: error: multiple Table sections +out/test/spec/memory64/binary.wast:1061: assert_malformed passed: + 000000d: error: multiple Elem sections +out/test/spec/memory64/binary.wast:1071: assert_malformed passed: + 000000d: error: multiple Import sections +out/test/spec/memory64/binary.wast:1081: assert_malformed passed: + 000000d: error: multiple Type sections +out/test/spec/memory64/binary.wast:1091: assert_malformed passed: + 000000d: error: multiple Memory sections +out/test/spec/memory64/binary.wast:1101: assert_malformed passed: + 000000d: error: section Type out of order +out/test/spec/memory64/binary.wast:1111: assert_malformed passed: + 000000d: error: section Import out of order +out/test/spec/memory64/binary.wast:1121: assert_malformed passed: + 000000d: error: section Function out of order +out/test/spec/memory64/binary.wast:1131: assert_malformed passed: + 000000d: error: section Table out of order +out/test/spec/memory64/binary.wast:1141: assert_malformed passed: + 000000d: error: section Memory out of order +out/test/spec/memory64/binary.wast:1151: assert_malformed passed: + 000000d: error: section Global out of order +out/test/spec/memory64/binary.wast:1161: assert_malformed passed: + 0000011: error: section Export out of order +out/test/spec/memory64/binary.wast:1172: assert_malformed passed: + 0000011: error: section Start out of order +out/test/spec/memory64/binary.wast:1183: assert_malformed passed: + 000000d: error: section Elem out of order +out/test/spec/memory64/binary.wast:1193: assert_malformed passed: + 000000d: error: section DataCount out of order +out/test/spec/memory64/binary.wast:1203: assert_malformed passed: + 000000d: error: section Code out of order +126/126 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory64/binary0.txt b/test/spec/memory64/binary0.txt new file mode 100644 index 0000000000..4a5f0647cf --- /dev/null +++ b/test/spec/memory64/binary0.txt @@ -0,0 +1,10 @@ +;;; TOOL: run-interp-spec +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/binary0.wast +;;; ARGS*: --enable-memory64 --enable-multi-memory +(;; STDOUT ;;; +out/test/spec/memory64/binary0.wast:48: assert_malformed passed: + 000000e: error: unable to read u64 leb128: memory initial page count +out/test/spec/memory64/binary0.wast:59: assert_malformed passed: + 000000d: error: unable to read uint8_t: memory flags +7/7 tests passed. +;;; STDOUT ;;) diff --git a/test/spec/memory64/call_indirect.txt b/test/spec/memory64/call_indirect.txt index e40b4d49ba..1f1c5cc965 100644 --- a/test/spec/memory64/call_indirect.txt +++ b/test/spec/memory64/call_indirect.txt @@ -87,6 +87,7 @@ out/test/spec/memory64/call_indirect.wast:786: assert_malformed passed: ^^^^^^^^^^^^^ out/test/spec/memory64/call_indirect.wast:801: assert_invalid passed: out/test/spec/memory64/call_indirect/call_indirect.13.wasm:000001c: error: table variable out of range: 0 (max 0) + out/test/spec/memory64/call_indirect/call_indirect.13.wasm:000001c: error: type mismatch: call_indirect must reference table of funcref type 000001c: error: OnCallIndirectExpr callback failed out/test/spec/memory64/call_indirect.wast:809: assert_invalid passed: out/test/spec/memory64/call_indirect/call_indirect.14.wasm:0000023: error: type mismatch in i32.eqz, expected [i32] but got [] diff --git a/test/spec/memory64/imports.txt b/test/spec/memory64/imports.txt new file mode 100644 index 0000000000..f62c98b4d8 --- /dev/null +++ b/test/spec/memory64/imports.txt @@ -0,0 +1,340 @@ +;;; TOOL: run-interp-spec +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/imports.wast +;;; ARGS*: --enable-memory64 --enable-exceptions --enable-multi-memory +(;; STDOUT ;;; +called host spectest.print_i32(i32:13) => +called host spectest.print_i32_f32(i32:14, f32:42.000000) => +called host spectest.print_i32(i32:13) => +called host spectest.print_i32(i32:13) => +called host spectest.print_f32(f32:13.000000) => +called host spectest.print_i32(i32:13) => +called host spectest.print_i64(i64:24) => +called host spectest.print_f64_f64(f64:25.000000, f64:53.000000) => +called host spectest.print_i64(i64:24) => +called host spectest.print_f64(f64:24.000000) => +called host spectest.print_f64(f64:24.000000) => +called host spectest.print_f64(f64:24.000000) => +out/test/spec/memory64/imports.wast:99: assert_invalid passed: + out/test/spec/memory64/imports/imports.2.wasm:000001e: error: function type variable out of range: 1 (max 1) + 000001e: error: OnImportFunc callback failed +called host spectest.print_i32(i32:13) => +out/test/spec/memory64/imports.wast:135: assert_unlinkable passed: + error: invalid import "test.unknown" +out/test/spec/memory64/imports.wast:139: assert_unlinkable passed: + error: invalid import "spectest.unknown" +out/test/spec/memory64/imports.wast:144: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:148: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:152: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:156: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:160: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:164: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:168: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:172: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:176: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:180: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:184: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:188: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:192: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:196: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:200: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:204: assert_unlinkable passed: + error: import signature mismatch +out/test/spec/memory64/imports.wast:209: assert_unlinkable passed: + error: expected import "test.global-i32" to have kind func, not global +out/test/spec/memory64/imports.wast:213: assert_unlinkable passed: + error: expected import "test.table-10-inf" to have kind func, not table +out/test/spec/memory64/imports.wast:217: assert_unlinkable passed: + error: expected import "test.memory-2-inf" to have kind func, not memory +out/test/spec/memory64/imports.wast:221: assert_unlinkable passed: + error: expected import "test.tag" to have kind func, not tag +out/test/spec/memory64/imports.wast:225: assert_unlinkable passed: + error: expected import "spectest.global_i32" to have kind func, not global +out/test/spec/memory64/imports.wast:229: assert_unlinkable passed: + error: expected import "spectest.table" to have kind func, not table +out/test/spec/memory64/imports.wast:233: assert_unlinkable passed: + error: expected import "spectest.memory" to have kind func, not memory +out/test/spec/memory64/imports.wast:238: assert_unlinkable passed: + error: invalid import "test.unknown" +out/test/spec/memory64/imports.wast:242: assert_unlinkable passed: + error: signature mismatch in imported tag +out/test/spec/memory64/imports.wast:246: assert_unlinkable passed: + error: signature mismatch in imported tag +out/test/spec/memory64/imports.wast:250: assert_unlinkable passed: + error: signature mismatch in imported tag +out/test/spec/memory64/imports.wast:254: assert_unlinkable passed: + error: expected import "test.func-i32" to have kind tag, not func +out/test/spec/memory64/imports.wast:294: assert_unlinkable passed: + error: invalid import "test.unknown" +out/test/spec/memory64/imports.wast:298: assert_unlinkable passed: + error: invalid import "spectest.unknown" +out/test/spec/memory64/imports.wast:303: assert_unlinkable passed: + error: type mismatch in imported global, expected i64 but got i32. +out/test/spec/memory64/imports.wast:307: assert_unlinkable passed: + error: type mismatch in imported global, expected f32 but got i32. +out/test/spec/memory64/imports.wast:311: assert_unlinkable passed: + error: type mismatch in imported global, expected f64 but got i32. +out/test/spec/memory64/imports.wast:315: assert_unlinkable passed: + error: mutability mismatch in imported global, expected immutable but got mutable. +out/test/spec/memory64/imports.wast:319: assert_unlinkable passed: + error: type mismatch in imported global, expected i32 but got f32. +out/test/spec/memory64/imports.wast:323: assert_unlinkable passed: + error: type mismatch in imported global, expected i64 but got f32. +out/test/spec/memory64/imports.wast:327: assert_unlinkable passed: + error: type mismatch in imported global, expected f64 but got f32. +out/test/spec/memory64/imports.wast:331: assert_unlinkable passed: + error: mutability mismatch in imported global, expected immutable but got mutable. +out/test/spec/memory64/imports.wast:335: assert_unlinkable passed: + error: type mismatch in imported global, expected i32 but got i64. +out/test/spec/memory64/imports.wast:339: assert_unlinkable passed: + error: type mismatch in imported global, expected f32 but got i64. +out/test/spec/memory64/imports.wast:343: assert_unlinkable passed: + error: type mismatch in imported global, expected f64 but got i64. +out/test/spec/memory64/imports.wast:347: assert_unlinkable passed: + error: mutability mismatch in imported global, expected mutable but got immutable. +out/test/spec/memory64/imports.wast:352: assert_unlinkable passed: + error: expected import "test.func" to have kind global, not func +out/test/spec/memory64/imports.wast:356: assert_unlinkable passed: + error: expected import "test.table-10-inf" to have kind global, not table +out/test/spec/memory64/imports.wast:360: assert_unlinkable passed: + error: expected import "test.memory-2-inf" to have kind global, not memory +out/test/spec/memory64/imports.wast:364: assert_unlinkable passed: + error: expected import "spectest.print_i32" to have kind global, not func +out/test/spec/memory64/imports.wast:368: assert_unlinkable passed: + error: expected import "spectest.table" to have kind global, not table +out/test/spec/memory64/imports.wast:372: assert_unlinkable passed: + error: expected import "spectest.memory" to have kind global, not memory +out/test/spec/memory64/imports.wast:392: assert_trap passed: uninitialized table element +out/test/spec/memory64/imports.wast:395: assert_trap passed: uninitialized table element +out/test/spec/memory64/imports.wast:396: assert_trap passed: undefined table index +out/test/spec/memory64/imports.wast:412: assert_trap passed: uninitialized table element +out/test/spec/memory64/imports.wast:415: assert_trap passed: uninitialized table element +out/test/spec/memory64/imports.wast:416: assert_trap passed: undefined table index +out/test/spec/memory64/imports.wast:463: assert_unlinkable passed: + error: invalid import "test.unknown" +out/test/spec/memory64/imports.wast:467: assert_unlinkable passed: + error: invalid import "spectest.unknown" +out/test/spec/memory64/imports.wast:472: assert_unlinkable passed: + error: actual size (10) smaller than declared (12) +out/test/spec/memory64/imports.wast:476: assert_unlinkable passed: + error: max size (unspecified) larger than declared (20) +out/test/spec/memory64/imports.wast:480: assert_unlinkable passed: + error: actual size (10) smaller than declared (12) +out/test/spec/memory64/imports.wast:484: assert_unlinkable passed: + error: max size (unspecified) larger than declared (20) +out/test/spec/memory64/imports.wast:488: assert_unlinkable passed: + error: actual size (10) smaller than declared (12) +out/test/spec/memory64/imports.wast:492: assert_unlinkable passed: + error: max size (20) larger than declared (18) +out/test/spec/memory64/imports.wast:496: assert_unlinkable passed: + error: actual size (10) smaller than declared (12) +out/test/spec/memory64/imports.wast:500: assert_unlinkable passed: + error: max size (20) larger than declared (18) +out/test/spec/memory64/imports.wast:504: assert_unlinkable passed: + error: actual size (10) smaller than declared (12) +out/test/spec/memory64/imports.wast:508: assert_unlinkable passed: + error: max size (20) larger than declared (15) +out/test/spec/memory64/imports.wast:513: assert_unlinkable passed: + error: expected import "test.func" to have kind table, not func +out/test/spec/memory64/imports.wast:517: assert_unlinkable passed: + error: expected import "test.global-i32" to have kind table, not global +out/test/spec/memory64/imports.wast:521: assert_unlinkable passed: + error: expected import "test.memory-2-inf" to have kind table, not memory +out/test/spec/memory64/imports.wast:525: assert_unlinkable passed: + error: expected import "spectest.print_i32" to have kind table, not func +out/test/spec/memory64/imports.wast:530: assert_unlinkable passed: + error: expected i64 memory, but i32 memory provided +out/test/spec/memory64/imports.wast:534: assert_unlinkable passed: + error: expected i32 memory, but i64 memory provided +out/test/spec/memory64/imports.wast:538: assert_unlinkable passed: + error: expected i64 memory, but i32 memory provided +out/test/spec/memory64/imports.wast:542: assert_unlinkable passed: + error: expected i32 memory, but i64 memory provided +out/test/spec/memory64/imports.wast:561: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/memory64/imports.wast:574: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/memory64/imports.wast:607: assert_unlinkable passed: + error: invalid import "test.unknown" +out/test/spec/memory64/imports.wast:611: assert_unlinkable passed: + error: invalid import "spectest.unknown" +out/test/spec/memory64/imports.wast:616: assert_unlinkable passed: + error: max size (unspecified) larger than declared (1) +out/test/spec/memory64/imports.wast:620: assert_unlinkable passed: + error: max size (unspecified) larger than declared (2) +out/test/spec/memory64/imports.wast:624: assert_unlinkable passed: + error: max size (unspecified) larger than declared (3) +out/test/spec/memory64/imports.wast:628: assert_unlinkable passed: + error: max size (unspecified) larger than declared (3) +out/test/spec/memory64/imports.wast:632: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:636: assert_unlinkable passed: + error: max size (4) larger than declared (1) +out/test/spec/memory64/imports.wast:640: assert_unlinkable passed: + error: max size (4) larger than declared (2) +out/test/spec/memory64/imports.wast:644: assert_unlinkable passed: + error: max size (4) larger than declared (3) +out/test/spec/memory64/imports.wast:648: assert_unlinkable passed: + error: max size (4) larger than declared (2) +out/test/spec/memory64/imports.wast:652: assert_unlinkable passed: + error: max size (4) larger than declared (3) +out/test/spec/memory64/imports.wast:656: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:660: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:664: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:668: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:672: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:676: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:680: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:684: assert_unlinkable passed: + error: actual size (2) smaller than declared (5) +out/test/spec/memory64/imports.wast:688: assert_unlinkable passed: + error: max size (unspecified) larger than declared (1) +out/test/spec/memory64/imports.wast:692: assert_unlinkable passed: + error: max size (unspecified) larger than declared (2) +out/test/spec/memory64/imports.wast:696: assert_unlinkable passed: + error: max size (unspecified) larger than declared (3) +out/test/spec/memory64/imports.wast:700: assert_unlinkable passed: + error: max size (unspecified) larger than declared (3) +out/test/spec/memory64/imports.wast:704: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:708: assert_unlinkable passed: + error: max size (4) larger than declared (1) +out/test/spec/memory64/imports.wast:712: assert_unlinkable passed: + error: max size (4) larger than declared (2) +out/test/spec/memory64/imports.wast:716: assert_unlinkable passed: + error: max size (4) larger than declared (3) +out/test/spec/memory64/imports.wast:720: assert_unlinkable passed: + error: max size (4) larger than declared (2) +out/test/spec/memory64/imports.wast:724: assert_unlinkable passed: + error: max size (4) larger than declared (3) +out/test/spec/memory64/imports.wast:728: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:732: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:736: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:740: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:744: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:748: assert_unlinkable passed: + error: actual size (2) smaller than declared (3) +out/test/spec/memory64/imports.wast:752: assert_unlinkable passed: + error: actual size (2) smaller than declared (4) +out/test/spec/memory64/imports.wast:756: assert_unlinkable passed: + error: actual size (2) smaller than declared (5) +out/test/spec/memory64/imports.wast:760: assert_unlinkable passed: + error: actual size (1) smaller than declared (2) +out/test/spec/memory64/imports.wast:764: assert_unlinkable passed: + error: max size (2) larger than declared (1) +out/test/spec/memory64/imports.wast:769: assert_unlinkable passed: + error: expected i64 memory, but i32 memory provided +out/test/spec/memory64/imports.wast:773: assert_unlinkable passed: + error: expected i32 memory, but i64 memory provided +out/test/spec/memory64/imports.wast:777: assert_unlinkable passed: + error: expected i64 memory, but i32 memory provided +out/test/spec/memory64/imports.wast:781: assert_unlinkable passed: + error: expected i32 memory, but i64 memory provided +out/test/spec/memory64/imports.wast:786: assert_unlinkable passed: + error: expected import "test.func-i32" to have kind memory, not func +out/test/spec/memory64/imports.wast:790: assert_unlinkable passed: + error: expected import "test.global-i32" to have kind memory, not global +out/test/spec/memory64/imports.wast:794: assert_unlinkable passed: + error: expected import "test.table-10-inf" to have kind memory, not table +out/test/spec/memory64/imports.wast:798: assert_unlinkable passed: + error: expected import "spectest.print_i32" to have kind memory, not func +out/test/spec/memory64/imports.wast:802: assert_unlinkable passed: + error: expected import "spectest.global_i32" to have kind memory, not global +out/test/spec/memory64/imports.wast:806: assert_unlinkable passed: + error: expected import "spectest.table" to have kind memory, not table +out/test/spec/memory64/imports.wast:811: assert_unlinkable passed: + error: actual size (1) smaller than declared (2) +out/test/spec/memory64/imports.wast:815: assert_unlinkable passed: + error: max size (2) larger than declared (1) +out/test/spec/memory64/imports.wast:833: assert_malformed passed: + out/test/spec/memory64/imports/imports.205.wat:1:9: error: imports must occur before all non-import definitions + (func) (import "" "" (func)) + ^^^^^^ +out/test/spec/memory64/imports.wast:837: assert_malformed passed: + out/test/spec/memory64/imports/imports.206.wat:1:9: error: imports must occur before all non-import definitions + (func) (import "" "" (global i64)) + ^^^^^^ +out/test/spec/memory64/imports.wast:841: assert_malformed passed: + out/test/spec/memory64/imports/imports.207.wat:1:9: error: imports must occur before all non-import definitions + (func) (import "" "" (table 0 funcref)) + ^^^^^^ +out/test/spec/memory64/imports.wast:845: assert_malformed passed: + out/test/spec/memory64/imports/imports.208.wat:1:9: error: imports must occur before all non-import definitions + (func) (import "" "" (memory 0)) + ^^^^^^ +out/test/spec/memory64/imports.wast:850: assert_malformed passed: + out/test/spec/memory64/imports/imports.209.wat:1:29: error: imports must occur before all non-import definitions + (global i64 (i64.const 0)) (import "" "" (func)) + ^^^^^^ +out/test/spec/memory64/imports.wast:854: assert_malformed passed: + out/test/spec/memory64/imports/imports.210.wat:1:29: error: imports must occur before all non-import definitions + (global i64 (i64.const 0)) (import "" "" (global f32)) + ^^^^^^ +out/test/spec/memory64/imports.wast:858: assert_malformed passed: + out/test/spec/memory64/imports/imports.211.wat:1:29: error: imports must occur before all non-import definitions + (global i64 (i64.const 0)) (import "" "" (table 0 funcref)) + ^^^^^^ +out/test/spec/memory64/imports.wast:862: assert_malformed passed: + out/test/spec/memory64/imports/imports.212.wat:1:29: error: imports must occur before all non-import definitions + (global i64 (i64.const 0)) (import "" "" (memory 0)) + ^^^^^^ +out/test/spec/memory64/imports.wast:867: assert_malformed passed: + out/test/spec/memory64/imports/imports.213.wat:1:20: error: imports must occur before all non-import definitions + (table 0 funcref) (import "" "" (func)) + ^^^^^^ +out/test/spec/memory64/imports.wast:871: assert_malformed passed: + out/test/spec/memory64/imports/imports.214.wat:1:20: error: imports must occur before all non-import definitions + (table 0 funcref) (import "" "" (global i32)) + ^^^^^^ +out/test/spec/memory64/imports.wast:875: assert_malformed passed: + out/test/spec/memory64/imports/imports.215.wat:1:20: error: imports must occur before all non-import definitions + (table 0 funcref) (import "" "" (table 0 funcref)) + ^^^^^^ +out/test/spec/memory64/imports.wast:879: assert_malformed passed: + out/test/spec/memory64/imports/imports.216.wat:1:20: error: imports must occur before all non-import definitions + (table 0 funcref) (import "" "" (memory 0)) + ^^^^^^ +out/test/spec/memory64/imports.wast:884: assert_malformed passed: + out/test/spec/memory64/imports/imports.217.wat:1:13: error: imports must occur before all non-import definitions + (memory 0) (import "" "" (func)) + ^^^^^^ +out/test/spec/memory64/imports.wast:888: assert_malformed passed: + out/test/spec/memory64/imports/imports.218.wat:1:13: error: imports must occur before all non-import definitions + (memory 0) (import "" "" (global i32)) + ^^^^^^ +out/test/spec/memory64/imports.wast:892: assert_malformed passed: + out/test/spec/memory64/imports/imports.219.wat:1:13: error: imports must occur before all non-import definitions + (memory 0) (import "" "" (table 1 3 funcref)) + ^^^^^^ +out/test/spec/memory64/imports.wast:896: assert_malformed passed: + out/test/spec/memory64/imports/imports.220.wat:1:13: error: imports must occur before all non-import definitions + (memory 0) (import "" "" (memory 1 2)) + ^^^^^^ +out/test/spec/memory64/imports.wast:906: assert_unlinkable passed: + error: invalid import "not wasm.overloaded" +257/257 tests passed. +;;; STDOUT ;;) diff --git a/test/spec/memory64/memory.txt b/test/spec/memory64/memory.txt index 373f2cd6a4..222920b49d 100644 --- a/test/spec/memory64/memory.txt +++ b/test/spec/memory64/memory.txt @@ -2,86 +2,80 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/memory64/memory.wast ;;; ARGS*: --enable-memory64 (;; STDOUT ;;; -out/test/spec/memory64/memory.wast:10: assert_invalid passed: - out/test/spec/memory64/memory/memory.6.wasm:000000f: error: only one memory block allowed - 000000f: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:11: assert_invalid passed: - out/test/spec/memory64/memory/memory.7.wasm:0000023: error: only one memory block allowed - 0000023: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:20: assert_invalid passed: - out/test/spec/memory64/memory/memory.11.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:17: assert_invalid passed: + out/test/spec/memory64/memory/memory.9.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory.wast:21: assert_invalid passed: - out/test/spec/memory64/memory/memory.12.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:18: assert_invalid passed: + out/test/spec/memory64/memory/memory.10.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory.wast:22: assert_invalid passed: - out/test/spec/memory64/memory/memory.13.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:19: assert_invalid passed: + out/test/spec/memory64/memory/memory.11.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory.wast:25: assert_invalid passed: - out/test/spec/memory64/memory/memory.14.wasm:000001c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:22: assert_invalid passed: + out/test/spec/memory64/memory/memory.12.wasm:000001c: error: memory variable out of range: 0 (max 0) 000001c: error: OnLoadExpr callback failed -out/test/spec/memory64/memory.wast:29: assert_invalid passed: - out/test/spec/memory64/memory/memory.15.wasm:0000021: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:26: assert_invalid passed: + out/test/spec/memory64/memory/memory.13.wasm:0000021: error: memory variable out of range: 0 (max 0) 0000021: error: OnStoreExpr callback failed -out/test/spec/memory64/memory.wast:33: assert_invalid passed: - out/test/spec/memory64/memory/memory.16.wasm:000001c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:30: assert_invalid passed: + out/test/spec/memory64/memory/memory.14.wasm:000001c: error: memory variable out of range: 0 (max 0) 000001c: error: OnLoadExpr callback failed -out/test/spec/memory64/memory.wast:37: assert_invalid passed: - out/test/spec/memory64/memory/memory.17.wasm:000001e: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:34: assert_invalid passed: + out/test/spec/memory64/memory/memory.15.wasm:000001e: error: memory variable out of range: 0 (max 0) 000001e: error: OnStoreExpr callback failed -out/test/spec/memory64/memory.wast:41: assert_invalid passed: - out/test/spec/memory64/memory/memory.18.wasm:0000019: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:38: assert_invalid passed: + out/test/spec/memory64/memory/memory.16.wasm:0000019: error: memory variable out of range: 0 (max 0) 0000019: error: OnMemorySizeExpr callback failed -out/test/spec/memory64/memory.wast:45: assert_invalid passed: - out/test/spec/memory64/memory/memory.19.wasm:000001b: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory.wast:42: assert_invalid passed: + out/test/spec/memory64/memory/memory.17.wasm:000001b: error: memory variable out of range: 0 (max 0) 000001b: error: OnMemoryGrowExpr callback failed -out/test/spec/memory64/memory.wast:51: assert_invalid passed: - out/test/spec/memory64/memory/memory.20.wasm:000000e: error: max pages (0) must be >= initial pages (1) +out/test/spec/memory64/memory.wast:48: assert_invalid passed: + out/test/spec/memory64/memory/memory.18.wasm:000000e: error: max pages (0) must be >= initial pages (1) 000000e: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:55: assert_invalid passed: - out/test/spec/memory64/memory/memory.21.wasm:000000f: error: initial pages (65537) must be <= (65536) +out/test/spec/memory64/memory.wast:52: assert_invalid passed: + out/test/spec/memory64/memory/memory.19.wasm:000000f: error: initial pages (65537) must be <= (65536) 000000f: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:59: assert_invalid passed: - out/test/spec/memory64/memory/memory.22.wasm:0000011: error: initial pages (2147483648) must be <= (65536) +out/test/spec/memory64/memory.wast:56: assert_invalid passed: + out/test/spec/memory64/memory/memory.20.wasm:0000011: error: initial pages (2147483648) must be <= (65536) 0000011: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:63: assert_invalid passed: - out/test/spec/memory64/memory/memory.23.wasm:0000011: error: initial pages (4294967295) must be <= (65536) +out/test/spec/memory64/memory.wast:60: assert_invalid passed: + out/test/spec/memory64/memory/memory.21.wasm:0000011: error: initial pages (4294967295) must be <= (65536) 0000011: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:67: assert_invalid passed: - out/test/spec/memory64/memory/memory.24.wasm:0000010: error: max pages (65537) must be <= (65536) +out/test/spec/memory64/memory.wast:64: assert_invalid passed: + out/test/spec/memory64/memory/memory.22.wasm:0000010: error: max pages (65537) must be <= (65536) 0000010: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:71: assert_invalid passed: - out/test/spec/memory64/memory/memory.25.wasm:0000012: error: max pages (2147483648) must be <= (65536) +out/test/spec/memory64/memory.wast:68: assert_invalid passed: + out/test/spec/memory64/memory/memory.23.wasm:0000012: error: max pages (2147483648) must be <= (65536) 0000012: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:75: assert_invalid passed: - out/test/spec/memory64/memory/memory.26.wasm:0000012: error: max pages (4294967295) must be <= (65536) +out/test/spec/memory64/memory.wast:72: assert_invalid passed: + out/test/spec/memory64/memory/memory.24.wasm:0000012: error: max pages (4294967295) must be <= (65536) 0000012: error: OnMemory callback failed -out/test/spec/memory64/memory.wast:80: assert_invalid passed: - out/test/spec/memory64/memory/memory.27.wat:1:9: error: invalid int "0x1_0000_0000" +out/test/spec/memory64/memory.wast:77: assert_invalid passed: + out/test/spec/memory64/memory/memory.25.wat:1:9: error: invalid int "0x1_0000_0000" (memory 0x1_0000_0000) ^^^^^^^^^^^^^ -out/test/spec/memory64/memory.wast:84: assert_invalid passed: - out/test/spec/memory64/memory/memory.28.wat:1:9: error: invalid int "0x1_0000_0000" +out/test/spec/memory64/memory.wast:81: assert_invalid passed: + out/test/spec/memory64/memory/memory.26.wat:1:9: error: invalid int "0x1_0000_0000" (memory 0x1_0000_0000 0x1_0000_0000) ^^^^^^^^^^^^^ - out/test/spec/memory64/memory/memory.28.wat:1:23: error: invalid int "0x1_0000_0000" + out/test/spec/memory64/memory/memory.26.wat:1:23: error: invalid int "0x1_0000_0000" (memory 0x1_0000_0000 0x1_0000_0000) ^^^^^^^^^^^^^ -out/test/spec/memory64/memory.wast:88: assert_invalid passed: - out/test/spec/memory64/memory/memory.29.wat:1:11: error: invalid int "0x1_0000_0000" +out/test/spec/memory64/memory.wast:85: assert_invalid passed: + out/test/spec/memory64/memory/memory.27.wat:1:11: error: invalid int "0x1_0000_0000" (memory 0 0x1_0000_0000) ^^^^^^^^^^^^^ -out/test/spec/memory64/memory.wast:231: assert_malformed passed: - out/test/spec/memory64/memory/memory.31.wat:1:17: error: redefinition of memory "$foo" +out/test/spec/memory64/memory.wast:228: assert_malformed passed: + out/test/spec/memory64/memory/memory.29.wat:1:17: error: redefinition of memory "$foo" (memory $foo 1)(memory $foo 1) ^^^^^^ -out/test/spec/memory64/memory.wast:235: assert_malformed passed: - out/test/spec/memory64/memory/memory.32.wat:1:32: error: redefinition of memory "$foo" +out/test/spec/memory64/memory.wast:232: assert_malformed passed: + out/test/spec/memory64/memory/memory.30.wat:1:32: error: redefinition of memory "$foo" (import "" "" (memory $foo 1))(memory $foo 1) ^^^^^^ -out/test/spec/memory64/memory.wast:239: assert_malformed passed: - out/test/spec/memory64/memory/memory.33.wat:1:32: error: redefinition of memory "$foo" +out/test/spec/memory64/memory.wast:236: assert_malformed passed: + out/test/spec/memory64/memory/memory.31.wat:1:32: error: redefinition of memory "$foo" (import "" "" (memory $foo 1))(import "" "" (memory $foo 1)) ^^^^^^ -79/79 tests passed. +86/86 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory64/memory64.txt b/test/spec/memory64/memory64.txt index a79ac1625a..f83ca26508 100644 --- a/test/spec/memory64/memory64.txt +++ b/test/spec/memory64/memory64.txt @@ -2,46 +2,40 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/memory64/memory64.wast ;;; ARGS*: --enable-memory64 (;; STDOUT ;;; -out/test/spec/memory64/memory64.wast:9: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.4.wasm:000000f: error: only one memory block allowed - 000000f: error: OnMemory callback failed -out/test/spec/memory64/memory64.wast:10: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.5.wasm:0000023: error: only one memory block allowed - 0000023: error: OnMemory callback failed -out/test/spec/memory64/memory64.wast:19: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.9.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory64.wast:16: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.7.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory64.wast:20: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.10.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory64.wast:17: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.8.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory64.wast:21: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.11.wasm:000000c: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory64.wast:18: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.9.wasm:000000c: error: memory variable out of range: 0 (max 0) 000000c: error: BeginDataSegment callback failed -out/test/spec/memory64/memory64.wast:24: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.12.wasm:000001c: error: memory variable out of range: 0 (max 0) - out/test/spec/memory64/memory64/memory64.12.wasm:000001c: error: type mismatch in f32.load, expected [i32] but got [i64] +out/test/spec/memory64/memory64.wast:21: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.10.wasm:000001c: error: memory variable out of range: 0 (max 0) + out/test/spec/memory64/memory64/memory64.10.wasm:000001c: error: type mismatch in f32.load, expected [i32] but got [i64] 000001c: error: OnLoadExpr callback failed -out/test/spec/memory64/memory64.wast:28: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.13.wasm:0000021: error: memory variable out of range: 0 (max 0) - out/test/spec/memory64/memory64/memory64.13.wasm:0000021: error: type mismatch in f32.store, expected [i32, f32] but got [i64, f32] +out/test/spec/memory64/memory64.wast:25: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.11.wasm:0000021: error: memory variable out of range: 0 (max 0) + out/test/spec/memory64/memory64/memory64.11.wasm:0000021: error: type mismatch in f32.store, expected [i32, f32] but got [i64, f32] 0000021: error: OnStoreExpr callback failed -out/test/spec/memory64/memory64.wast:32: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.14.wasm:000001c: error: memory variable out of range: 0 (max 0) - out/test/spec/memory64/memory64/memory64.14.wasm:000001c: error: type mismatch in i32.load8_s, expected [i32] but got [i64] +out/test/spec/memory64/memory64.wast:29: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.12.wasm:000001c: error: memory variable out of range: 0 (max 0) + out/test/spec/memory64/memory64/memory64.12.wasm:000001c: error: type mismatch in i32.load8_s, expected [i32] but got [i64] 000001c: error: OnLoadExpr callback failed -out/test/spec/memory64/memory64.wast:36: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.15.wasm:000001e: error: memory variable out of range: 0 (max 0) - out/test/spec/memory64/memory64/memory64.15.wasm:000001e: error: type mismatch in i32.store8, expected [i32, i32] but got [i64, i32] +out/test/spec/memory64/memory64.wast:33: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.13.wasm:000001e: error: memory variable out of range: 0 (max 0) + out/test/spec/memory64/memory64/memory64.13.wasm:000001e: error: type mismatch in i32.store8, expected [i32, i32] but got [i64, i32] 000001e: error: OnStoreExpr callback failed -out/test/spec/memory64/memory64.wast:40: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.16.wasm:0000019: error: memory variable out of range: 0 (max 0) +out/test/spec/memory64/memory64.wast:37: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.14.wasm:0000019: error: memory variable out of range: 0 (max 0) 0000019: error: OnMemorySizeExpr callback failed -out/test/spec/memory64/memory64.wast:44: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.17.wasm:000001b: error: memory variable out of range: 0 (max 0) - out/test/spec/memory64/memory64/memory64.17.wasm:000001b: error: type mismatch in memory.grow, expected [i32] but got [i64] +out/test/spec/memory64/memory64.wast:41: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.15.wasm:000001b: error: memory variable out of range: 0 (max 0) + out/test/spec/memory64/memory64/memory64.15.wasm:000001b: error: type mismatch in memory.grow, expected [i32] but got [i64] 000001b: error: OnMemoryGrowExpr callback failed -out/test/spec/memory64/memory64.wast:50: assert_invalid passed: - out/test/spec/memory64/memory64/memory64.18.wasm:000000e: error: max pages (0) must be >= initial pages (1) +out/test/spec/memory64/memory64.wast:47: assert_invalid passed: + out/test/spec/memory64/memory64/memory64.16.wasm:000000e: error: max pages (0) must be >= initial pages (1) 000000e: error: OnMemory callback failed -65/65 tests passed. +63/63 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory64/table.txt b/test/spec/memory64/table.txt index b68289c0c1..1fb959594d 100644 --- a/test/spec/memory64/table.txt +++ b/test/spec/memory64/table.txt @@ -1,49 +1,124 @@ ;;; TOOL: run-interp-spec -;;; STDIN_FILE: third_party/testsuite/proposals/memory64/table.wast ;;; ARGS*: --enable-memory64 +;; memory64 table.wast from last commit before wasm-3.0 merge + +(module (table 0 funcref)) +(module (table 1 funcref)) +(module (table 0 0 funcref)) +(module (table 0 1 funcref)) +(module (table 1 256 funcref)) +(module (table 0 65536 funcref)) +(module (table 0 0xffff_ffff funcref)) + +(module (table 0 funcref) (table 0 funcref)) +(module (table (import "spectest" "table") 0 funcref) (table 0 funcref)) + +(assert_invalid + (module (table 1 0 funcref)) + "size minimum must not be greater than maximum" +) +(assert_invalid + (module (table 0xffff_ffff 0 funcref)) + "size minimum must not be greater than maximum" +) + +(assert_invalid + (module quote "(table 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) +(assert_invalid + (module quote "(table 0x1_0000_0000 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) +(assert_invalid + (module quote "(table 0 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) + +;; Same as above but with i64 index types + +(module (table i64 0 funcref)) +(module (table i64 1 funcref)) +(module (table i64 0 0 funcref)) +(module (table i64 0 1 funcref)) +(module (table i64 1 256 funcref)) +(module (table i64 0 65536 funcref)) +(module (table i64 0 0xffff_ffff funcref)) + +(module (table i64 0 funcref) (table i64 0 funcref)) +(module (table (import "spectest" "table64") i64 0 funcref) (table i64 0 funcref)) + +(assert_invalid + (module (table i64 1 0 funcref)) + "size minimum must not be greater than maximum" +) +(assert_invalid + (module (table i64 0xffff_ffff 0 funcref)) + "size minimum must not be greater than maximum" +) + +;; Elem segments with no table + +(assert_invalid (module (elem (i32.const 0))) "unknown table") +(assert_invalid (module (elem (i32.const 0) $f) (func $f)) "unknown table") + +;; Duplicate table identifiers + +(assert_malformed (module quote + "(table $foo 1 funcref)" + "(table $foo 1 funcref)") + "duplicate table") +(assert_malformed (module quote + "(import \"\" \"\" (table $foo 1 funcref))" + "(table $foo 1 funcref)") + "duplicate table") +(assert_malformed (module quote + "(import \"\" \"\" (table $foo 1 funcref))" + "(import \"\" \"\" (table $foo 1 funcref))") + "duplicate table") (;; STDOUT ;;; -out/test/spec/memory64/table.wast:15: assert_invalid passed: +out/test/spec/memory64/table.txt:17: assert_invalid passed: out/test/spec/memory64/table/table.9.wasm:000000f: error: max elems (0) must be >= initial elems (1) 000000f: error: OnTable callback failed -out/test/spec/memory64/table.wast:19: assert_invalid passed: +out/test/spec/memory64/table.txt:21: assert_invalid passed: out/test/spec/memory64/table/table.10.wasm:0000013: error: max elems (0) must be >= initial elems (4294967295) 0000013: error: OnTable callback failed -out/test/spec/memory64/table.wast:24: assert_invalid passed: +out/test/spec/memory64/table.txt:26: assert_invalid passed: out/test/spec/memory64/table/table.11.wat:1:8: error: invalid int "0x1_0000_0000" (table 0x1_0000_0000 funcref) ^^^^^^^^^^^^^ -out/test/spec/memory64/table.wast:28: assert_invalid passed: +out/test/spec/memory64/table.txt:30: assert_invalid passed: out/test/spec/memory64/table/table.12.wat:1:8: error: invalid int "0x1_0000_0000" (table 0x1_0000_0000 0x1_0000_0000 funcref) ^^^^^^^^^^^^^ out/test/spec/memory64/table/table.12.wat:1:22: error: invalid int "0x1_0000_0000" (table 0x1_0000_0000 0x1_0000_0000 funcref) ^^^^^^^^^^^^^ -out/test/spec/memory64/table.wast:32: assert_invalid passed: +out/test/spec/memory64/table.txt:34: assert_invalid passed: out/test/spec/memory64/table/table.13.wat:1:10: error: invalid int "0x1_0000_0000" (table 0 0x1_0000_0000 funcref) ^^^^^^^^^^^^^ -out/test/spec/memory64/table.wast:50: assert_invalid passed: +out/test/spec/memory64/table.txt:52: assert_invalid passed: out/test/spec/memory64/table/table.23.wasm:000000f: error: max elems (0) must be >= initial elems (1) 000000f: error: OnTable callback failed -out/test/spec/memory64/table.wast:54: assert_invalid passed: +out/test/spec/memory64/table.txt:56: assert_invalid passed: out/test/spec/memory64/table/table.24.wasm:0000013: error: max elems (0) must be >= initial elems (4294967295) 0000013: error: OnTable callback failed -out/test/spec/memory64/table.wast:60: assert_invalid passed: +out/test/spec/memory64/table.txt:62: assert_invalid passed: out/test/spec/memory64/table/table.25.wasm:000000c: error: table variable out of range: 0 (max 0) 000000c: error: BeginElemSegment callback failed -out/test/spec/memory64/table.wast:61: assert_invalid passed: +out/test/spec/memory64/table.txt:63: assert_invalid passed: out/test/spec/memory64/table/table.26.wasm:0000016: error: table variable out of range: 0 (max 0) 0000016: error: BeginElemSegment callback failed -out/test/spec/memory64/table.wast:65: assert_malformed passed: +out/test/spec/memory64/table.txt:67: assert_malformed passed: out/test/spec/memory64/table/table.27.wat:1:24: error: redefinition of table "$foo" (table $foo 1 funcref)(table $foo 1 funcref) ^^^^^ -out/test/spec/memory64/table.wast:69: assert_malformed passed: +out/test/spec/memory64/table.txt:71: assert_malformed passed: out/test/spec/memory64/table/table.28.wat:1:39: error: redefinition of table "$foo" (import "" "" (table $foo 1 funcref))(table $foo 1 funcref) ^^^^^ -out/test/spec/memory64/table.wast:73: assert_malformed passed: +out/test/spec/memory64/table.txt:75: assert_malformed passed: out/test/spec/memory64/table/table.29.wat:1:39: error: redefinition of table "$foo" (import "" "" (table $foo 1 funcref))(import "" "" (table $foo 1 funcref)) ^^^^^^ diff --git a/test/spec/memory64/table_copy_mixed.txt b/test/spec/memory64/table_copy_mixed.txt new file mode 100644 index 0000000000..b6118e7497 --- /dev/null +++ b/test/spec/memory64/table_copy_mixed.txt @@ -0,0 +1,15 @@ +;;; TOOL: run-interp-spec +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/table_copy_mixed.wast +;;; ARGS*: --enable-memory64 +(;; STDOUT ;;; +out/test/spec/memory64/table_copy_mixed.wast:20: assert_invalid passed: + out/test/spec/memory64/table_copy_mixed/table_copy_mixed.1.wasm:000003e: error: type mismatch in table.copy, expected [i32, i64, i32] but got [i32, i64, i64] + 000003e: error: OnTableCopyExpr callback failed +out/test/spec/memory64/table_copy_mixed.wast:30: assert_invalid passed: + out/test/spec/memory64/table_copy_mixed/table_copy_mixed.2.wasm:000003d: error: type mismatch in table.copy, expected [i32, i64, i32] but got [i32, i32, i32] + 000003d: error: OnTableCopyExpr callback failed +out/test/spec/memory64/table_copy_mixed.wast:40: assert_invalid passed: + out/test/spec/memory64/table_copy_mixed/table_copy_mixed.3.wasm:000003d: error: type mismatch in table.copy, expected [i32, i64, i32] but got [i64, i64, i32] + 000003d: error: OnTableCopyExpr callback failed +4/4 tests passed. +;;; STDOUT ;;) diff --git a/test/spec/memory64/table_grow.txt b/test/spec/memory64/table_grow.txt index d0d621fc46..c0a28c6edb 100644 --- a/test/spec/memory64/table_grow.txt +++ b/test/spec/memory64/table_grow.txt @@ -14,26 +14,26 @@ out/test/spec/memory64/table_grow.wast:59: assert_trap passed: out of bounds tab out/test/spec/memory64/table_grow.wast:60: assert_trap passed: out of bounds table access: table.get at 1 >= max value 1 out/test/spec/memory64/table_grow.wast:71: assert_trap passed: out of bounds table access: table.set at 5 >= max value 5 out/test/spec/memory64/table_grow.wast:72: assert_trap passed: out of bounds table access: table.get at 5 >= max value 5 -out/test/spec/memory64/table_grow.wast:147: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.5.wasm:0000021: error: type mismatch in table.grow, expected [externref, i32] but got [] +out/test/spec/memory64/table_grow.wast:168: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.8.wasm:0000021: error: type mismatch in table.grow, expected [externref, i32] but got [] 0000021: error: OnTableGrowExpr callback failed -out/test/spec/memory64/table_grow.wast:156: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.6.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [externref] +out/test/spec/memory64/table_grow.wast:177: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.9.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [externref] 0000023: error: OnTableGrowExpr callback failed -out/test/spec/memory64/table_grow.wast:165: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.7.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [i32] +out/test/spec/memory64/table_grow.wast:186: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.10.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [i32] 0000023: error: OnTableGrowExpr callback failed -out/test/spec/memory64/table_grow.wast:174: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.8.wasm:0000028: error: type mismatch in table.grow, expected [externref, i32] but got [externref, f32] +out/test/spec/memory64/table_grow.wast:195: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.11.wasm:0000028: error: type mismatch in table.grow, expected [externref, i32] but got [externref, f32] 0000028: error: OnTableGrowExpr callback failed -out/test/spec/memory64/table_grow.wast:183: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.9.wasm:0000026: error: type mismatch in table.grow, expected [funcref, i32] but got [externref, i32] +out/test/spec/memory64/table_grow.wast:204: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.12.wasm:0000026: error: type mismatch in table.grow, expected [funcref, i32] but got [externref, i32] 0000026: error: OnTableGrowExpr callback failed -out/test/spec/memory64/table_grow.wast:193: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.10.wasm:0000025: error: type mismatch at end of function, expected [] but got [i32] +out/test/spec/memory64/table_grow.wast:214: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.13.wasm:0000025: error: type mismatch at end of function, expected [] but got [i32] 0000025: error: EndFunctionBody callback failed -out/test/spec/memory64/table_grow.wast:202: assert_invalid passed: - out/test/spec/memory64/table_grow/table_grow.11.wasm:0000026: error: type mismatch in implicit return, expected [f32] but got [i32] +out/test/spec/memory64/table_grow.wast:223: assert_invalid passed: + out/test/spec/memory64/table_grow/table_grow.14.wasm:0000026: error: type mismatch in implicit return, expected [f32] but got [i32] 0000026: error: EndFunctionBody callback failed -71/71 tests passed. +77/77 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/memory_grow.txt b/test/spec/memory_grow.txt index 2e376acf9f..49f718a8d1 100644 --- a/test/spec/memory_grow.txt +++ b/test/spec/memory_grow.txt @@ -9,26 +9,26 @@ out/test/spec/memory_grow.wast:18: assert_trap passed: out of bounds memory acce out/test/spec/memory_grow.wast:24: assert_trap passed: out of bounds memory access: access at 65536+4 >= max value 65536 out/test/spec/memory_grow.wast:25: assert_trap passed: out of bounds memory access: access at 65536+4 >= max value 65536 out/test/spec/memory_grow.wast:286: assert_trap passed: undefined table index -out/test/spec/memory_grow.wast:313: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.5.wasm:000001f: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/memory_grow.wast:334: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.8.wasm:000001f: error: type mismatch in memory.grow, expected [i32] but got [] 000001f: error: OnMemoryGrowExpr callback failed -out/test/spec/memory_grow.wast:322: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.6.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/memory_grow.wast:343: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.9.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] 0000023: error: OnMemoryGrowExpr callback failed -out/test/spec/memory_grow.wast:332: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.7.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/memory_grow.wast:353: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.10.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] 0000023: error: OnMemoryGrowExpr callback failed -out/test/spec/memory_grow.wast:342: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.8.wasm:0000025: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/memory_grow.wast:363: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.11.wasm:0000025: error: type mismatch in memory.grow, expected [i32] but got [] 0000025: error: OnMemoryGrowExpr callback failed -out/test/spec/memory_grow.wast:353: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.9.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] +out/test/spec/memory_grow.wast:374: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.12.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] 0000024: error: OnMemoryGrowExpr callback failed -out/test/spec/memory_grow.wast:363: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.10.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] +out/test/spec/memory_grow.wast:384: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.13.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] 0000021: error: EndFunctionBody callback failed -out/test/spec/memory_grow.wast:372: assert_invalid passed: - out/test/spec/memory_grow/memory_grow.11.wasm:0000022: error: type mismatch in implicit return, expected [f32] but got [i32] +out/test/spec/memory_grow.wast:393: assert_invalid passed: + out/test/spec/memory_grow/memory_grow.14.wasm:0000022: error: type mismatch in implicit return, expected [f32] but got [i32] 0000022: error: EndFunctionBody callback failed -96/96 tests passed. +102/102 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/multi-memory/align.txt b/test/spec/multi-memory/align.txt new file mode 100644 index 0000000000..803b607700 --- /dev/null +++ b/test/spec/multi-memory/align.txt @@ -0,0 +1,311 @@ +;;; TOOL: run-interp-spec +;;; STDIN_FILE: third_party/testsuite/proposals/multi-memory/align.wast +;;; ARGS*: --enable-multi-memory +(;; STDOUT ;;; +out/test/spec/multi-memory/align.wast:28: assert_malformed passed: + out/test/spec/multi-memory/align/align.23.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load8_s align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:34: assert_malformed passed: + out/test/spec/multi-memory/align/align.24.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load8_s align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:40: assert_malformed passed: + out/test/spec/multi-memory/align/align.25.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load8_u align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:46: assert_malformed passed: + out/test/spec/multi-memory/align/align.26.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load8_u align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:52: assert_malformed passed: + out/test/spec/multi-memory/align/align.27.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load16_s align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:58: assert_malformed passed: + out/test/spec/multi-memory/align/align.28.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load16_s align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:64: assert_malformed passed: + out/test/spec/multi-memory/align/align.29.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load16_u align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:70: assert_malformed passed: + out/test/spec/multi-memory/align/align.30.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load16_u align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:76: assert_malformed passed: + out/test/spec/multi-memory/align/align.31.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:82: assert_malformed passed: + out/test/spec/multi-memory/align/align.32.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (i32.load align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:88: assert_malformed passed: + out/test/spec/multi-memory/align/align.33.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load8_s align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:94: assert_malformed passed: + out/test/spec/multi-memory/align/align.34.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load8_s align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:100: assert_malformed passed: + out/test/spec/multi-memory/align/align.35.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load8_u align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:106: assert_malformed passed: + out/test/spec/multi-memory/align/align.36.wat:1:45: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load8_u align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:112: assert_malformed passed: + out/test/spec/multi-memory/align/align.37.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load16_s align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:118: assert_malformed passed: + out/test/spec/multi-memory/align/align.38.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load16_s align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:124: assert_malformed passed: + out/test/spec/multi-memory/align/align.39.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load16_u align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:130: assert_malformed passed: + out/test/spec/multi-memory/align/align.40.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load16_u align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:136: assert_malformed passed: + out/test/spec/multi-memory/align/align.41.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load32_s align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:142: assert_malformed passed: + out/test/spec/multi-memory/align/align.42.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load32_s align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:148: assert_malformed passed: + out/test/spec/multi-memory/align/align.43.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load32_u align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:154: assert_malformed passed: + out/test/spec/multi-memory/align/align.44.wat:1:46: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load32_u align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:160: assert_malformed passed: + out/test/spec/multi-memory/align/align.45.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:166: assert_malformed passed: + out/test/spec/multi-memory/align/align.46.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (i64.load align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:172: assert_malformed passed: + out/test/spec/multi-memory/align/align.47.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (f32.load align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:178: assert_malformed passed: + out/test/spec/multi-memory/align/align.48.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (f32.load align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:184: assert_malformed passed: + out/test/spec/multi-memory/align/align.49.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (f64.load align=0 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:190: assert_malformed passed: + out/test/spec/multi-memory/align/align.50.wat:1:42: error: alignment must be power-of-two + (module (memory 0) (func (drop (f64.load align=7 (i32.const 0))))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:197: assert_malformed passed: + out/test/spec/multi-memory/align/align.51.wat:1:38: error: alignment must be power-of-two + (module (memory 0) (func (i32.store8 align=0 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:203: assert_malformed passed: + out/test/spec/multi-memory/align/align.52.wat:1:38: error: alignment must be power-of-two + (module (memory 0) (func (i32.store8 align=7 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:209: assert_malformed passed: + out/test/spec/multi-memory/align/align.53.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i32.store16 align=0 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:215: assert_malformed passed: + out/test/spec/multi-memory/align/align.54.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i32.store16 align=7 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:221: assert_malformed passed: + out/test/spec/multi-memory/align/align.55.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (i32.store align=0 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:227: assert_malformed passed: + out/test/spec/multi-memory/align/align.56.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (i32.store align=7 (i32.const 0) (i32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:233: assert_malformed passed: + out/test/spec/multi-memory/align/align.57.wat:1:38: error: alignment must be power-of-two + (module (memory 0) (func (i64.store8 align=0 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:239: assert_malformed passed: + out/test/spec/multi-memory/align/align.58.wat:1:38: error: alignment must be power-of-two + (module (memory 0) (func (i64.store8 align=7 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:245: assert_malformed passed: + out/test/spec/multi-memory/align/align.59.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i64.store16 align=0 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:251: assert_malformed passed: + out/test/spec/multi-memory/align/align.60.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i64.store16 align=7 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:257: assert_malformed passed: + out/test/spec/multi-memory/align/align.61.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i64.store32 align=0 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:263: assert_malformed passed: + out/test/spec/multi-memory/align/align.62.wat:1:39: error: alignment must be power-of-two + (module (memory 0) (func (i64.store32 align=7 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:269: assert_malformed passed: + out/test/spec/multi-memory/align/align.63.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (i64.store align=0 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:275: assert_malformed passed: + out/test/spec/multi-memory/align/align.64.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (i64.store align=7 (i32.const 0) (i64.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:281: assert_malformed passed: + out/test/spec/multi-memory/align/align.65.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (f32.store align=0 (i32.const 0) (f32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:287: assert_malformed passed: + out/test/spec/multi-memory/align/align.66.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (f32.store align=7 (i32.const 0) (f32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:293: assert_malformed passed: + out/test/spec/multi-memory/align/align.67.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (f64.store align=0 (i32.const 0) (f32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:299: assert_malformed passed: + out/test/spec/multi-memory/align/align.68.wat:1:37: error: alignment must be power-of-two + (module (memory 0) (func (f64.store align=7 (i32.const 0) (f32.const 0)))) + ^^^^^^^ +out/test/spec/multi-memory/align.wast:306: assert_invalid passed: + out/test/spec/multi-memory/align/align.69.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:310: assert_invalid passed: + out/test/spec/multi-memory/align/align.70.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:314: assert_invalid passed: + out/test/spec/multi-memory/align/align.71.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:318: assert_invalid passed: + out/test/spec/multi-memory/align/align.72.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:322: assert_invalid passed: + out/test/spec/multi-memory/align/align.73.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:326: assert_invalid passed: + out/test/spec/multi-memory/align/align.74.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:330: assert_invalid passed: + out/test/spec/multi-memory/align/align.75.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:334: assert_invalid passed: + out/test/spec/multi-memory/align/align.76.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:338: assert_invalid passed: + out/test/spec/multi-memory/align/align.77.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:342: assert_invalid passed: + out/test/spec/multi-memory/align/align.78.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:346: assert_invalid passed: + out/test/spec/multi-memory/align/align.79.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:350: assert_invalid passed: + out/test/spec/multi-memory/align/align.80.wasm:0000021: error: alignment must not be larger than natural alignment (8) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:354: assert_invalid passed: + out/test/spec/multi-memory/align/align.81.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:358: assert_invalid passed: + out/test/spec/multi-memory/align/align.82.wasm:0000021: error: alignment must not be larger than natural alignment (8) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:363: assert_invalid passed: + out/test/spec/multi-memory/align/align.83.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:367: assert_invalid passed: + out/test/spec/multi-memory/align/align.84.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:371: assert_invalid passed: + out/test/spec/multi-memory/align/align.85.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:375: assert_invalid passed: + out/test/spec/multi-memory/align/align.86.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:379: assert_invalid passed: + out/test/spec/multi-memory/align/align.87.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:383: assert_invalid passed: + out/test/spec/multi-memory/align/align.88.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:387: assert_invalid passed: + out/test/spec/multi-memory/align/align.89.wasm:0000021: error: alignment must not be larger than natural alignment (1) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:391: assert_invalid passed: + out/test/spec/multi-memory/align/align.90.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:395: assert_invalid passed: + out/test/spec/multi-memory/align/align.91.wasm:0000021: error: alignment must not be larger than natural alignment (2) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:399: assert_invalid passed: + out/test/spec/multi-memory/align/align.92.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:403: assert_invalid passed: + out/test/spec/multi-memory/align/align.93.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:407: assert_invalid passed: + out/test/spec/multi-memory/align/align.94.wasm:0000021: error: alignment must not be larger than natural alignment (8) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:411: assert_invalid passed: + out/test/spec/multi-memory/align/align.95.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:415: assert_invalid passed: + out/test/spec/multi-memory/align/align.96.wasm:0000021: error: alignment must not be larger than natural alignment (8) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:420: assert_invalid passed: + out/test/spec/multi-memory/align/align.97.wasm:0000023: error: alignment must not be larger than natural alignment (1) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:424: assert_invalid passed: + out/test/spec/multi-memory/align/align.98.wasm:0000023: error: alignment must not be larger than natural alignment (2) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:428: assert_invalid passed: + out/test/spec/multi-memory/align/align.99.wasm:0000023: error: alignment must not be larger than natural alignment (4) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:432: assert_invalid passed: + out/test/spec/multi-memory/align/align.100.wasm:0000023: error: alignment must not be larger than natural alignment (1) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:436: assert_invalid passed: + out/test/spec/multi-memory/align/align.101.wasm:0000023: error: alignment must not be larger than natural alignment (2) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:440: assert_invalid passed: + out/test/spec/multi-memory/align/align.102.wasm:0000023: error: alignment must not be larger than natural alignment (4) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:444: assert_invalid passed: + out/test/spec/multi-memory/align/align.103.wasm:0000023: error: alignment must not be larger than natural alignment (8) + 0000023: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:448: assert_invalid passed: + out/test/spec/multi-memory/align/align.104.wasm:0000026: error: alignment must not be larger than natural alignment (4) + 0000026: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:452: assert_invalid passed: + out/test/spec/multi-memory/align/align.105.wasm:000002a: error: alignment must not be larger than natural alignment (8) + 000002a: error: OnStoreExpr callback failed +out/test/spec/multi-memory/align.wast:864: assert_trap passed: out of bounds memory access: access at 65532+8 >= max value 65536 +out/test/spec/multi-memory/align.wast:873: assert_invalid passed: + out/test/spec/multi-memory/align/align.108.wasm:0000021: error: alignment must not be larger than natural alignment (4) + 0000021: error: OnLoadExpr callback failed +out/test/spec/multi-memory/align.wast:892: assert_invalid passed: + 0000020: error: invalid load alignment: 32 +out/test/spec/multi-memory/align.wast:911: assert_invalid passed: + 0000020: error: invalid load alignment: 33 +out/test/spec/multi-memory/align.wast:930: assert_invalid passed: + 0000020: error: invalid load alignment: 63 +160/160 tests passed. +;;; STDOUT ;;) diff --git a/test/spec/multi-memory/binary.txt b/test/spec/multi-memory/binary.txt index 4aa49b81f7..d88e22f54b 100644 --- a/test/spec/multi-memory/binary.txt +++ b/test/spec/multi-memory/binary.txt @@ -94,79 +94,125 @@ out/test/spec/multi-memory/binary.wast:240: assert_malformed passed: 0000015: error: function signature count != function body count out/test/spec/multi-memory/binary.wast:263: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/multi-memory/binary.wast:273: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:275: assert_malformed passed: 000000e: error: data segment count does not equal count in DataCount section -out/test/spec/multi-memory/binary.wast:283: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:287: assert_malformed passed: + 0000010: error: Data section missing but DataCount non-zero +out/test/spec/multi-memory/binary.wast:303: assert_malformed passed: 0000024: error: memory.init requires data count section -out/test/spec/multi-memory/binary.wast:305: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:326: assert_malformed passed: 000001e: error: data.drop requires data count section -out/test/spec/multi-memory/binary.wast:324: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:346: assert_malformed passed: 0000024: error: unexpected opcode: 0xf3 -out/test/spec/multi-memory/binary.wast:350: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:374: assert_malformed passed: 0000022: error: table elem type must be a reference type -out/test/spec/multi-memory/binary.wast:431: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:459: assert_malformed passed: 000000a: error: invalid section size: extends past end -out/test/spec/multi-memory/binary.wast:442: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:470: assert_malformed passed: 000000e: error: unfinished section (expected end: 0x11) -out/test/spec/multi-memory/binary.wast:461: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:489: assert_malformed passed: 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/multi-memory/binary.wast:471: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:499: assert_malformed passed: 000000e: error: invalid import tag kind: exceptions not allowed -out/test/spec/multi-memory/binary.wast:482: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:510: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/multi-memory/binary.wast:492: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:520: assert_malformed passed: 000000e: error: malformed import kind: 5 -out/test/spec/multi-memory/binary.wast:503: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:531: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/multi-memory/binary.wast:513: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:541: assert_malformed passed: 000000e: error: malformed import kind: 128 -out/test/spec/multi-memory/binary.wast:526: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:554: assert_malformed passed: 0000027: error: unable to read u32 leb128: string length -out/test/spec/multi-memory/binary.wast:545: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:573: assert_malformed passed: 000002b: error: unfinished section (expected end: 0x40) -out/test/spec/multi-memory/binary.wast:576: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:604: assert_malformed passed: 000000b: error: invalid table count 1, only 0 bytes left in section -out/test/spec/multi-memory/binary.wast:586: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:614: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/multi-memory/binary.wast:595: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:623: assert_malformed passed: 000000d: error: tables may not be shared -out/test/spec/multi-memory/binary.wast:605: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:633: assert_malformed passed: 000000d: error: malformed table limits flag: 129 -out/test/spec/multi-memory/binary.wast:623: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:651: assert_malformed passed: 000000b: error: invalid memory count 1, only 0 bytes left in section -out/test/spec/multi-memory/binary.wast:633: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:661: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/multi-memory/binary.wast:641: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:669: assert_malformed passed: 000000c: error: memory may not be shared: threads not allowed -out/test/spec/multi-memory/binary.wast:650: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:678: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/multi-memory/binary.wast:659: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:687: assert_malformed passed: 000000c: error: malformed memory limits flag: 129 -out/test/spec/multi-memory/binary.wast:676: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:704: assert_malformed passed: 0000010: error: unable to read i32 leb128: global type -out/test/spec/multi-memory/binary.wast:687: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:715: assert_malformed passed: 0000010: error: unfinished section (expected end: 0x15) -out/test/spec/multi-memory/binary.wast:710: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:738: assert_malformed passed: 000001b: error: unable to read u32 leb128: string length -out/test/spec/multi-memory/binary.wast:731: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:759: assert_malformed passed: 000001b: error: unfinished section (expected end: 0x20) -out/test/spec/multi-memory/binary.wast:765: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:793: assert_malformed passed: 0000021: error: unable to read u32 leb128: elem segment flags -out/test/spec/multi-memory/binary.wast:781: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:809: assert_malformed passed: 0000024: error: init expression must end with END opcode -out/test/spec/multi-memory/binary.wast:798: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:826: assert_malformed passed: 0000021: error: unfinished section (expected end: 0x27) -out/test/spec/multi-memory/binary.wast:824: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:852: assert_malformed passed: 0000016: error: unable to read u32 leb128: data segment flags -out/test/spec/multi-memory/binary.wast:837: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:865: assert_malformed passed: 0000016: error: unfinished section (expected end: 0x1c) -out/test/spec/multi-memory/binary.wast:850: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:878: assert_malformed passed: 0000015: error: unable to read data: data segment data -out/test/spec/multi-memory/binary.wast:864: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:892: assert_malformed passed: 000001a: error: unfinished section (expected end: 0x1b) -out/test/spec/multi-memory/binary.wast:895: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:923: assert_malformed passed: 0000048: error: function body must end with END opcode -out/test/spec/multi-memory/binary.wast:942: assert_malformed passed: +out/test/spec/multi-memory/binary.wast:970: assert_malformed passed: 0000017: error: multiple Start sections -102/102 tests passed. +out/test/spec/multi-memory/binary.wast:987: assert_malformed passed: + 0000014: error: multiple Function sections +out/test/spec/multi-memory/binary.wast:999: assert_malformed passed: + 0000016: error: function signature count != function body count +out/test/spec/multi-memory/binary.wast:1011: assert_malformed passed: + 000000d: error: multiple DataCount sections +out/test/spec/multi-memory/binary.wast:1021: assert_malformed passed: + 000000d: error: multiple Data sections +out/test/spec/multi-memory/binary.wast:1031: assert_malformed passed: + 000000d: error: multiple Global sections +out/test/spec/multi-memory/binary.wast:1041: assert_malformed passed: + 000000d: error: multiple Export sections +out/test/spec/multi-memory/binary.wast:1051: assert_malformed passed: + 000000d: error: multiple Table sections +out/test/spec/multi-memory/binary.wast:1061: assert_malformed passed: + 000000d: error: multiple Elem sections +out/test/spec/multi-memory/binary.wast:1071: assert_malformed passed: + 000000d: error: multiple Import sections +out/test/spec/multi-memory/binary.wast:1081: assert_malformed passed: + 000000d: error: multiple Type sections +out/test/spec/multi-memory/binary.wast:1091: assert_malformed passed: + 000000d: error: multiple Memory sections +out/test/spec/multi-memory/binary.wast:1101: assert_malformed passed: + 000000d: error: section Type out of order +out/test/spec/multi-memory/binary.wast:1111: assert_malformed passed: + 000000d: error: section Import out of order +out/test/spec/multi-memory/binary.wast:1121: assert_malformed passed: + 000000d: error: section Function out of order +out/test/spec/multi-memory/binary.wast:1131: assert_malformed passed: + 000000d: error: section Table out of order +out/test/spec/multi-memory/binary.wast:1141: assert_malformed passed: + 000000d: error: section Memory out of order +out/test/spec/multi-memory/binary.wast:1151: assert_malformed passed: + 000000d: error: section Global out of order +out/test/spec/multi-memory/binary.wast:1161: assert_malformed passed: + 0000011: error: section Export out of order +out/test/spec/multi-memory/binary.wast:1172: assert_malformed passed: + 0000011: error: section Start out of order +out/test/spec/multi-memory/binary.wast:1183: assert_malformed passed: + 000000d: error: section Elem out of order +out/test/spec/multi-memory/binary.wast:1193: assert_malformed passed: + 000000d: error: section DataCount out of order +out/test/spec/multi-memory/binary.wast:1203: assert_malformed passed: + 000000d: error: section Code out of order +126/126 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/multi-memory/imports.txt b/test/spec/multi-memory/imports.txt index f06588ae40..f5267d49d7 100644 --- a/test/spec/multi-memory/imports.txt +++ b/test/spec/multi-memory/imports.txt @@ -112,125 +112,125 @@ out/test/spec/multi-memory/imports.wast:360: assert_trap passed: undefined table out/test/spec/multi-memory/imports.wast:375: assert_trap passed: uninitialized table element out/test/spec/multi-memory/imports.wast:378: assert_trap passed: uninitialized table element out/test/spec/multi-memory/imports.wast:379: assert_trap passed: undefined table index -out/test/spec/multi-memory/imports.wast:411: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:410: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/multi-memory/imports.wast:415: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:414: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/multi-memory/imports.wast:420: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:419: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/multi-memory/imports.wast:424: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:423: assert_unlinkable passed: error: max size (unspecified) larger than declared (20) -out/test/spec/multi-memory/imports.wast:428: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:427: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/multi-memory/imports.wast:432: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:431: assert_unlinkable passed: error: max size (20) larger than declared (18) -out/test/spec/multi-memory/imports.wast:436: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:435: assert_unlinkable passed: error: actual size (10) smaller than declared (12) -out/test/spec/multi-memory/imports.wast:440: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:439: assert_unlinkable passed: error: max size (20) larger than declared (15) -out/test/spec/multi-memory/imports.wast:445: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:444: assert_unlinkable passed: error: expected import "test.func" to have kind table, not func -out/test/spec/multi-memory/imports.wast:449: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:448: assert_unlinkable passed: error: expected import "test.global-i32" to have kind table, not global -out/test/spec/multi-memory/imports.wast:453: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:452: assert_unlinkable passed: error: expected import "test.memory-2-inf" to have kind table, not memory -out/test/spec/multi-memory/imports.wast:457: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:456: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind table, not func -out/test/spec/multi-memory/imports.wast:475: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/multi-memory/imports.wast:486: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 -out/test/spec/multi-memory/imports.wast:499: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:474: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/multi-memory/imports.wast:485: assert_trap passed: out of bounds memory access: access at 1000000+4 >= max value 65536 +out/test/spec/multi-memory/imports.wast:498: assert_unlinkable passed: error: invalid import "test.unknown" -out/test/spec/multi-memory/imports.wast:503: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:502: assert_unlinkable passed: error: invalid import "spectest.unknown" -out/test/spec/multi-memory/imports.wast:508: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:507: assert_unlinkable passed: error: actual size (2) smaller than declared (3) -out/test/spec/multi-memory/imports.wast:512: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:511: assert_unlinkable passed: error: max size (unspecified) larger than declared (3) -out/test/spec/multi-memory/imports.wast:516: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:515: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/multi-memory/imports.wast:520: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:519: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/multi-memory/imports.wast:525: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:524: assert_unlinkable passed: error: expected import "test.func-i32" to have kind memory, not func -out/test/spec/multi-memory/imports.wast:529: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:528: assert_unlinkable passed: error: expected import "test.global-i32" to have kind memory, not global -out/test/spec/multi-memory/imports.wast:533: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:532: assert_unlinkable passed: error: expected import "test.table-10-inf" to have kind memory, not table -out/test/spec/multi-memory/imports.wast:537: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:536: assert_unlinkable passed: error: expected import "spectest.print_i32" to have kind memory, not func -out/test/spec/multi-memory/imports.wast:541: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:540: assert_unlinkable passed: error: expected import "spectest.global_i32" to have kind memory, not global -out/test/spec/multi-memory/imports.wast:545: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:544: assert_unlinkable passed: error: expected import "spectest.table" to have kind memory, not table -out/test/spec/multi-memory/imports.wast:550: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:549: assert_unlinkable passed: error: actual size (1) smaller than declared (2) -out/test/spec/multi-memory/imports.wast:554: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:553: assert_unlinkable passed: error: max size (2) larger than declared (1) -out/test/spec/multi-memory/imports.wast:592: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.124.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:571: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.121.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (func)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:596: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.125.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:575: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.122.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (global i64)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:600: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.126.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:579: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.123.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:604: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.127.wat:1:9: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:583: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.124.wat:1:9: error: imports must occur before all non-import definitions (func) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:609: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.128.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:588: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.125.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (func)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:613: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.129.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:592: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.126.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (global f32)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:617: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.130.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:596: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.127.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:621: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.131.wat:1:29: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:600: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.128.wat:1:29: error: imports must occur before all non-import definitions (global i64 (i64.const 0)) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:626: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.132.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:605: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.129.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (func)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:630: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.133.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:609: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.130.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (global i32)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:634: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.134.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:613: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.131.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (table 0 funcref)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:638: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.135.wat:1:20: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:617: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.132.wat:1:20: error: imports must occur before all non-import definitions (table 0 funcref) (import "" "" (memory 0)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:643: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.136.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:622: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.133.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (func)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:647: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.137.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:626: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.134.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (global i32)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:651: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.138.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:630: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.135.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (table 1 3 funcref)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:655: assert_malformed passed: - out/test/spec/multi-memory/imports/imports.139.wat:1:13: error: imports must occur before all non-import definitions +out/test/spec/multi-memory/imports.wast:634: assert_malformed passed: + out/test/spec/multi-memory/imports/imports.136.wat:1:13: error: imports must occur before all non-import definitions (memory 0) (import "" "" (memory 1 2)) ^^^^^^ -out/test/spec/multi-memory/imports.wast:665: assert_unlinkable passed: +out/test/spec/multi-memory/imports.wast:644: assert_unlinkable passed: error: invalid import "not wasm.overloaded" -179/179 tests passed. +173/173 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/multi-memory/memory.txt b/test/spec/multi-memory/memory.txt index ece4f5ebd1..2b62787b1f 100644 --- a/test/spec/multi-memory/memory.txt +++ b/test/spec/multi-memory/memory.txt @@ -77,5 +77,5 @@ out/test/spec/multi-memory/memory.wast:236: assert_malformed passed: out/test/spec/multi-memory/memory/memory.31.wat:1:32: error: redefinition of memory "$foo" (import "" "" (memory $foo 1))(import "" "" (memory $foo 1)) ^^^^^^ -77/77 tests passed. +86/86 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/multi-memory/memory_grow.txt b/test/spec/multi-memory/memory_grow.txt index 8cf6e02c04..4e082ccc6f 100644 --- a/test/spec/multi-memory/memory_grow.txt +++ b/test/spec/multi-memory/memory_grow.txt @@ -9,32 +9,32 @@ out/test/spec/multi-memory/memory_grow.wast:89: assert_trap passed: out of bound out/test/spec/multi-memory/memory_grow.wast:95: assert_trap passed: out of bounds memory access: access at 65536+4 >= max value 65536 out/test/spec/multi-memory/memory_grow.wast:96: assert_trap passed: out of bounds memory access: access at 65536+4 >= max value 65536 out/test/spec/multi-memory/memory_grow.wast:376: assert_trap passed: undefined table index -out/test/spec/multi-memory/memory_grow.wast:431: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.8.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] +out/test/spec/multi-memory/memory_grow.wast:451: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.11.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] 0000024: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:440: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.9.wasm:000001f: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/multi-memory/memory_grow.wast:460: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.12.wasm:000001f: error: type mismatch in memory.grow, expected [i32] but got [] 000001f: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:449: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.10.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/multi-memory/memory_grow.wast:469: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.13.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] 0000023: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:459: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.11.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/multi-memory/memory_grow.wast:479: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.14.wasm:0000023: error: type mismatch in memory.grow, expected [i32] but got [] 0000023: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:469: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.12.wasm:0000025: error: type mismatch in memory.grow, expected [i32] but got [] +out/test/spec/multi-memory/memory_grow.wast:489: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.15.wasm:0000025: error: type mismatch in memory.grow, expected [i32] but got [] 0000025: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:480: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.13.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] +out/test/spec/multi-memory/memory_grow.wast:500: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.16.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] 0000021: error: EndFunctionBody callback failed -out/test/spec/multi-memory/memory_grow.wast:489: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.14.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] +out/test/spec/multi-memory/memory_grow.wast:509: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.17.wasm:0000024: error: type mismatch in memory.grow, expected [i32] but got [f32] 0000024: error: OnMemoryGrowExpr callback failed -out/test/spec/multi-memory/memory_grow.wast:499: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.15.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] +out/test/spec/multi-memory/memory_grow.wast:519: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.18.wasm:0000021: error: type mismatch at end of function, expected [] but got [i32] 0000021: error: EndFunctionBody callback failed -out/test/spec/multi-memory/memory_grow.wast:508: assert_invalid passed: - out/test/spec/multi-memory/memory_grow/memory_grow.16.wasm:0000022: error: type mismatch in implicit return, expected [f32] but got [i32] +out/test/spec/multi-memory/memory_grow.wast:528: assert_invalid passed: + out/test/spec/multi-memory/memory_grow/memory_grow.19.wasm:0000022: error: type mismatch in implicit return, expected [f32] but got [i32] 0000022: error: EndFunctionBody callback failed -148/148 tests passed. +154/154 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/relaxed-simd/relaxed_madd_nmadd.txt b/test/spec/relaxed-simd/relaxed_madd_nmadd.txt index bf3cc9554c..18a1d39d7e 100644 --- a/test/spec/relaxed-simd/relaxed_madd_nmadd.txt +++ b/test/spec/relaxed-simd/relaxed_madd_nmadd.txt @@ -2,5 +2,5 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/relaxed-simd/relaxed_madd_nmadd.wast ;;; ARGS*: --enable-relaxed-simd (;; STDOUT ;;; -17/17 tests passed. +19/19 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/table_grow.txt b/test/spec/table_grow.txt index 4396320b73..7bcab8c57b 100644 --- a/test/spec/table_grow.txt +++ b/test/spec/table_grow.txt @@ -7,26 +7,26 @@ out/test/spec/table_grow.wast:25: assert_trap passed: out of bounds table access out/test/spec/table_grow.wast:26: assert_trap passed: out of bounds table access: table.get at 1 >= max value 1 out/test/spec/table_grow.wast:37: assert_trap passed: out of bounds table access: table.set at 5 >= max value 5 out/test/spec/table_grow.wast:38: assert_trap passed: out of bounds table access: table.get at 5 >= max value 5 -out/test/spec/table_grow.wast:114: assert_invalid passed: - out/test/spec/table_grow/table_grow.5.wasm:0000021: error: type mismatch in table.grow, expected [externref, i32] but got [] +out/test/spec/table_grow.wast:135: assert_invalid passed: + out/test/spec/table_grow/table_grow.8.wasm:0000021: error: type mismatch in table.grow, expected [externref, i32] but got [] 0000021: error: OnTableGrowExpr callback failed -out/test/spec/table_grow.wast:123: assert_invalid passed: - out/test/spec/table_grow/table_grow.6.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [externref] +out/test/spec/table_grow.wast:144: assert_invalid passed: + out/test/spec/table_grow/table_grow.9.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [externref] 0000023: error: OnTableGrowExpr callback failed -out/test/spec/table_grow.wast:132: assert_invalid passed: - out/test/spec/table_grow/table_grow.7.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [i32] +out/test/spec/table_grow.wast:153: assert_invalid passed: + out/test/spec/table_grow/table_grow.10.wasm:0000023: error: type mismatch in table.grow, expected [externref, i32] but got [i32] 0000023: error: OnTableGrowExpr callback failed -out/test/spec/table_grow.wast:141: assert_invalid passed: - out/test/spec/table_grow/table_grow.8.wasm:0000028: error: type mismatch in table.grow, expected [externref, i32] but got [externref, f32] +out/test/spec/table_grow.wast:162: assert_invalid passed: + out/test/spec/table_grow/table_grow.11.wasm:0000028: error: type mismatch in table.grow, expected [externref, i32] but got [externref, f32] 0000028: error: OnTableGrowExpr callback failed -out/test/spec/table_grow.wast:150: assert_invalid passed: - out/test/spec/table_grow/table_grow.9.wasm:0000026: error: type mismatch in table.grow, expected [funcref, i32] but got [externref, i32] +out/test/spec/table_grow.wast:171: assert_invalid passed: + out/test/spec/table_grow/table_grow.12.wasm:0000026: error: type mismatch in table.grow, expected [funcref, i32] but got [externref, i32] 0000026: error: OnTableGrowExpr callback failed -out/test/spec/table_grow.wast:160: assert_invalid passed: - out/test/spec/table_grow/table_grow.10.wasm:0000025: error: type mismatch at end of function, expected [] but got [i32] +out/test/spec/table_grow.wast:181: assert_invalid passed: + out/test/spec/table_grow/table_grow.13.wasm:0000025: error: type mismatch at end of function, expected [] but got [i32] 0000025: error: EndFunctionBody callback failed -out/test/spec/table_grow.wast:169: assert_invalid passed: - out/test/spec/table_grow/table_grow.11.wasm:0000026: error: type mismatch in implicit return, expected [f32] but got [i32] +out/test/spec/table_grow.wast:190: assert_invalid passed: + out/test/spec/table_grow/table_grow.14.wasm:0000026: error: type mismatch in implicit return, expected [f32] but got [i32] 0000026: error: EndFunctionBody callback failed -50/50 tests passed. +56/56 tests passed. ;;; STDOUT ;;) diff --git a/test/spec/tail-call/return_call_indirect.txt b/test/spec/tail-call/return_call_indirect.txt index ee1bcf5511..d8b3df7e0b 100644 --- a/test/spec/tail-call/return_call_indirect.txt +++ b/test/spec/tail-call/return_call_indirect.txt @@ -76,6 +76,7 @@ out/test/spec/tail-call/return_call_indirect.wast:384: assert_malformed passed: ^^^^^^^^^^^^^^^^^^^^ out/test/spec/tail-call/return_call_indirect.wast:399: assert_invalid passed: out/test/spec/tail-call/return_call_indirect/return_call_indirect.12.wasm:000001c: error: table variable out of range: 0 (max 0) + out/test/spec/tail-call/return_call_indirect/return_call_indirect.12.wasm:000001c: error: type mismatch: return_call_indirect must reference table of funcref type 000001c: error: OnReturnCallIndirectExpr callback failed out/test/spec/tail-call/return_call_indirect.wast:407: assert_invalid passed: out/test/spec/tail-call/return_call_indirect/return_call_indirect.13.wasm:0000024: error: type mismatch at end of function, expected [] but got [i32] diff --git a/test/typecheck/bad-returncallindirect-no-table.txt b/test/typecheck/bad-returncallindirect-no-table.txt index f6cb30f459..fc3030ad66 100644 --- a/test/typecheck/bad-returncallindirect-no-table.txt +++ b/test/typecheck/bad-returncallindirect-no-table.txt @@ -12,4 +12,7 @@ out/test/typecheck/bad-returncallindirect-no-table.txt:9:5: error: table variable out of range: 0 (max 0) return_call_indirect) ^^^^^^^^^^^^^^^^^^^^ +out/test/typecheck/bad-returncallindirect-no-table.txt:9:5: error: type mismatch: return_call_indirect must reference table of funcref type + return_call_indirect) + ^^^^^^^^^^^^^^^^^^^^ ;;; STDERR ;;) diff --git a/test/wasm2c/spec/exception-handling/imports.txt b/test/wasm2c/spec/exception-handling/imports.txt index 8934d77a57..d3a3c17042 100644 --- a/test/wasm2c/spec/exception-handling/imports.txt +++ b/test/wasm2c/spec/exception-handling/imports.txt @@ -15,5 +15,5 @@ spectest.print_f64(24) spectest.print_f64(24) spectest.print_f64(24) spectest.print_i32(13) -37/37 tests passed. +34/34 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/float_exprs.txt b/test/wasm2c/spec/float_exprs.txt index e0f9279190..930dbced8d 100644 --- a/test/wasm2c/spec/float_exprs.txt +++ b/test/wasm2c/spec/float_exprs.txt @@ -2,5 +2,5 @@ ;;; TOOL: run-spec-wasm2c ;;; STDIN_FILE: third_party/testsuite/float_exprs.wast (;; STDOUT ;;; -794/794 tests passed. +819/819 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/float_misc.txt b/test/wasm2c/spec/float_misc.txt index f7f9b23cf6..c7d340ed99 100644 --- a/test/wasm2c/spec/float_misc.txt +++ b/test/wasm2c/spec/float_misc.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-spec-wasm2c ;;; STDIN_FILE: third_party/testsuite/float_misc.wast (;; STDOUT ;;; -440/440 tests passed. +470/470 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/imports.txt b/test/wasm2c/spec/imports.txt index 11bb6ed0ba..d7edf29959 100644 --- a/test/wasm2c/spec/imports.txt +++ b/test/wasm2c/spec/imports.txt @@ -14,5 +14,5 @@ spectest.print_f64(24) spectest.print_f64(24) spectest.print_f64(24) spectest.print_i32(13) -37/37 tests passed. +34/34 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory.txt b/test/wasm2c/spec/memory.txt index e5a4da1c68..08b6e49d7c 100644 --- a/test/wasm2c/spec/memory.txt +++ b/test/wasm2c/spec/memory.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-spec-wasm2c ;;; STDIN_FILE: third_party/testsuite/memory.wast (;; STDOUT ;;; -45/45 tests passed. +53/53 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/binary0.txt b/test/wasm2c/spec/memory64/binary0.txt new file mode 100644 index 0000000000..f49c066232 --- /dev/null +++ b/test/wasm2c/spec/memory64/binary0.txt @@ -0,0 +1,6 @@ +;;; TOOL: run-spec-wasm2c +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/binary0.wast +;;; ARGS*: --enable-memory64 --enable-multi-memory +(;; STDOUT ;;; +0/0 tests passed. +;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/imports.txt b/test/wasm2c/spec/memory64/imports.txt new file mode 100644 index 0000000000..7cefbce0bc --- /dev/null +++ b/test/wasm2c/spec/memory64/imports.txt @@ -0,0 +1,19 @@ +;;; TOOL: run-spec-wasm2c +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/imports.wast +;;; ARGS*: --enable-memory64 --enable-exceptions --enable-multi-memory +(;; STDOUT ;;; +spectest.print_i32(13) +spectest.print_i32_f32(14 42) +spectest.print_i32(13) +spectest.print_i32(13) +spectest.print_f32(13) +spectest.print_i32(13) +spectest.print_i64(24) +spectest.print_f64_f64(25 53) +spectest.print_i64(24) +spectest.print_f64(24) +spectest.print_f64(24) +spectest.print_f64(24) +spectest.print_i32(13) +34/34 tests passed. +;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/memory.txt b/test/wasm2c/spec/memory64/memory.txt index 5260807ca0..0f06b3458d 100644 --- a/test/wasm2c/spec/memory64/memory.txt +++ b/test/wasm2c/spec/memory64/memory.txt @@ -2,5 +2,5 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/memory64/memory.wast ;;; ARGS*: --enable-memory64 (;; STDOUT ;;; -45/45 tests passed. +53/53 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/table.txt b/test/wasm2c/spec/memory64/table.txt index a553dd52a9..190e16b14d 100644 --- a/test/wasm2c/spec/memory64/table.txt +++ b/test/wasm2c/spec/memory64/table.txt @@ -1,6 +1,82 @@ ;;; TOOL: run-spec-wasm2c -;;; STDIN_FILE: third_party/testsuite/proposals/memory64/table.wast ;;; ARGS*: --enable-memory64 +;; memory64 table.wast from last commit before wasm-3.0 merge + +(module (table 0 funcref)) +(module (table 1 funcref)) +(module (table 0 0 funcref)) +(module (table 0 1 funcref)) +(module (table 1 256 funcref)) +(module (table 0 65536 funcref)) +(module (table 0 0xffff_ffff funcref)) + +(module (table 0 funcref) (table 0 funcref)) +(module (table (import "spectest" "table") 0 funcref) (table 0 funcref)) + +(assert_invalid + (module (table 1 0 funcref)) + "size minimum must not be greater than maximum" +) +(assert_invalid + (module (table 0xffff_ffff 0 funcref)) + "size minimum must not be greater than maximum" +) + +(assert_invalid + (module quote "(table 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) +(assert_invalid + (module quote "(table 0x1_0000_0000 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) +(assert_invalid + (module quote "(table 0 0x1_0000_0000 funcref)") + "table size must be at most 2^32-1" +) + +;; Same as above but with i64 index types + +(module (table i64 0 funcref)) +(module (table i64 1 funcref)) +(module (table i64 0 0 funcref)) +(module (table i64 0 1 funcref)) +(module (table i64 1 256 funcref)) +(module (table i64 0 65536 funcref)) +(module (table i64 0 0xffff_ffff funcref)) + +(module (table i64 0 funcref) (table i64 0 funcref)) +(module (table (import "spectest" "table64") i64 0 funcref) (table i64 0 funcref)) + +(assert_invalid + (module (table i64 1 0 funcref)) + "size minimum must not be greater than maximum" +) +(assert_invalid + (module (table i64 0xffff_ffff 0 funcref)) + "size minimum must not be greater than maximum" +) + +;; Elem segments with no table + +(assert_invalid (module (elem (i32.const 0))) "unknown table") +(assert_invalid (module (elem (i32.const 0) $f) (func $f)) "unknown table") + +;; Duplicate table identifiers + +(assert_malformed (module quote + "(table $foo 1 funcref)" + "(table $foo 1 funcref)") + "duplicate table") +(assert_malformed (module quote + "(import \"\" \"\" (table $foo 1 funcref))" + "(table $foo 1 funcref)") + "duplicate table") +(assert_malformed (module quote + "(import \"\" \"\" (table $foo 1 funcref))" + "(import \"\" \"\" (table $foo 1 funcref))") + "duplicate table") + (;; STDOUT ;;; 0/0 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/table_copy_mixed.txt b/test/wasm2c/spec/memory64/table_copy_mixed.txt new file mode 100644 index 0000000000..e6d651f262 --- /dev/null +++ b/test/wasm2c/spec/memory64/table_copy_mixed.txt @@ -0,0 +1,6 @@ +;;; TOOL: run-spec-wasm2c +;;; STDIN_FILE: third_party/testsuite/proposals/memory64/table_copy_mixed.wast +;;; ARGS*: --enable-memory64 +(;; STDOUT ;;; +0/0 tests passed. +;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory64/table_grow.txt b/test/wasm2c/spec/memory64/table_grow.txt index c97a1864e0..545d8d42a1 100644 --- a/test/wasm2c/spec/memory64/table_grow.txt +++ b/test/wasm2c/spec/memory64/table_grow.txt @@ -2,5 +2,5 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/memory64/table_grow.wast ;;; ARGS*: --enable-memory64 (;; STDOUT ;;; -59/59 tests passed. +62/62 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/memory_grow.txt b/test/wasm2c/spec/memory_grow.txt index 8381ed4e8c..60112aebff 100644 --- a/test/wasm2c/spec/memory_grow.txt +++ b/test/wasm2c/spec/memory_grow.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-spec-wasm2c ;;; STDIN_FILE: third_party/testsuite/memory_grow.wast (;; STDOUT ;;; -84/84 tests passed. +87/87 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/multi-memory/align.txt b/test/wasm2c/spec/multi-memory/align.txt new file mode 100644 index 0000000000..44bf39018e --- /dev/null +++ b/test/wasm2c/spec/multi-memory/align.txt @@ -0,0 +1,6 @@ +;;; TOOL: run-spec-wasm2c +;;; STDIN_FILE: third_party/testsuite/proposals/multi-memory/align.wast +;;; ARGS*: --enable-multi-memory +(;; STDOUT ;;; +48/48 tests passed. +;;; STDOUT ;;) diff --git a/test/wasm2c/spec/multi-memory/imports.txt b/test/wasm2c/spec/multi-memory/imports.txt index b31cef7b2e..35aab1465a 100644 --- a/test/wasm2c/spec/multi-memory/imports.txt +++ b/test/wasm2c/spec/multi-memory/imports.txt @@ -14,5 +14,5 @@ spectest.print_f64(24) spectest.print_f64(24) spectest.print_f64(24) spectest.print_i32(13) -37/37 tests passed. +34/34 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/multi-memory/memory.txt b/test/wasm2c/spec/multi-memory/memory.txt index 57013cc708..454d48c883 100644 --- a/test/wasm2c/spec/multi-memory/memory.txt +++ b/test/wasm2c/spec/multi-memory/memory.txt @@ -2,5 +2,5 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/multi-memory/memory.wast ;;; ARGS*: --enable-multi-memory (;; STDOUT ;;; -45/45 tests passed. +53/53 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/multi-memory/memory_grow.txt b/test/wasm2c/spec/multi-memory/memory_grow.txt index 3731de5d80..7af1591250 100644 --- a/test/wasm2c/spec/multi-memory/memory_grow.txt +++ b/test/wasm2c/spec/multi-memory/memory_grow.txt @@ -2,5 +2,5 @@ ;;; STDIN_FILE: third_party/testsuite/proposals/multi-memory/memory_grow.wast ;;; ARGS*: --enable-multi-memory (;; STDOUT ;;; -131/131 tests passed. +134/134 tests passed. ;;; STDOUT ;;) diff --git a/test/wasm2c/spec/table_grow.txt b/test/wasm2c/spec/table_grow.txt index 23ebed3f1b..327af02d16 100644 --- a/test/wasm2c/spec/table_grow.txt +++ b/test/wasm2c/spec/table_grow.txt @@ -1,5 +1,5 @@ ;;; TOOL: run-spec-wasm2c ;;; STDIN_FILE: third_party/testsuite/table_grow.wast (;; STDOUT ;;; -38/38 tests passed. +41/41 tests passed. ;;; STDOUT ;;) diff --git a/third_party/testsuite b/third_party/testsuite index f3f048661d..eeb6dac81b 160000 --- a/third_party/testsuite +++ b/third_party/testsuite @@ -1 +1 @@ -Subproject commit f3f048661dc1686d556a27d522df901cb747ab4a +Subproject commit eeb6dac81be81151da0958ed955aba91230c1f25