Bug 1332691: Handle known failures in wasm WPT and JS test cases; r=luke
authorBenjamin Bouvier <benj@benj.me>
Fri, 17 Feb 2017 18:18:35 +0100
changeset 373800 d5a8190c6f7b94fa125a5277046eb38d2423d5c0
parent 373799 3453a55b30531155572f0128b01159ba37caf6ec
child 373801 d798f41291ba515aef8849c3b8d16112e3c222ef
push id10863
push userjlorenzo@mozilla.com
push dateMon, 06 Mar 2017 23:02:23 +0000
treeherdermozilla-aurora@0931190cd725 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersluke
bugs1332691
milestone54.0a1
Bug 1332691: Handle known failures in wasm WPT and JS test cases; r=luke MozReview-Commit-ID: EQNCTOXNy75
js/src/jit-test/tests/wasm/spec/conversions.wast.js
js/src/jit-test/tests/wasm/spec/jsapi.js
testing/web-platform/mozilla/meta/wasm/conversions.wast.js.html.ini
testing/web-platform/mozilla/meta/wasm/jsapi.js.html.ini
--- a/js/src/jit-test/tests/wasm/spec/conversions.wast.js
+++ b/js/src/jit-test/tests/wasm/spec/conversions.wast.js
@@ -742,26 +742,28 @@ run(() => call(instance("\x00\x61\x73\x6
 
 // conversions.wast:298
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-1")]), 1.84467440737e+19)
 
 // conversions.wast:299
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774784")]), 9.22337203685e+18)
 
 // conversions.wast:300
-run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x81\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774783")]), 9.22337203685e+18)
+// TODO (bug 1336139)
+//run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x81\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774783")]), 9.22337203685e+18)
 
 // conversions.wast:301
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x82\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774782")]), 9.22337203685e+18)
 
 // conversions.wast:302
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x68\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3072")]), 1.84467440737e+19)
 
 // conversions.wast:303
-run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x81\x68\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3071")]), 1.84467440737e+19)
+// TODO (bug 1336139)
+//run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x81\x68\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3071")]), 1.84467440737e+19)
 
 // conversions.wast:304
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x82\x68\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3070")]), 1.84467440737e+19)
 
 // conversions.wast:306
 run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x10\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)),  "run", []));  // assert_return(() => call($1, "f64.convert_u_i64", [int64("9007199254740993")]), 9.00719925474e+15)
 
 // conversions.wast:307
--- a/js/src/jit-test/tests/wasm/spec/jsapi.js
+++ b/js/src/jit-test/tests/wasm/spec/jsapi.js
@@ -679,17 +679,18 @@ function assertCompileError(args, err) {
 }
 
 assertCompileError([], TypeError);
 assertCompileError([undefined], TypeError);
 assertCompileError([1], TypeError);
 assertCompileError([{}], TypeError);
 assertCompileError([new Uint8Array()], CompileError);
 assertCompileError([new ArrayBuffer()], CompileError);
-assertCompileError([new Uint8Array("hi!")], CompileError);
+// TODO typed array ctors must coerce their argument
+//assertCompileError([new Uint8Array("hi!")], CompileError);
 assertCompileError([new ArrayBuffer("hi!")], CompileError);
 
 num_tests = 1;
 function assertCompileSuccess(bytes) {
     promise_test(() => {
         return WebAssembly.compile(bytes)
         .then(module => {
             assert_equals(module instanceof Module, true);
@@ -729,17 +730,18 @@ test(() => {
     var scratch_memory = new WebAssembly.Memory({initial:1});
     var scratch_table = new WebAssembly.Table({element:"anyfunc", initial:1, maximum:1});
     assertInstantiateError([], TypeError);
     assertInstantiateError([undefined], TypeError);
     assertInstantiateError([1], TypeError);
     assertInstantiateError([{}], TypeError);
     assertInstantiateError([new Uint8Array()], CompileError);
     assertInstantiateError([new ArrayBuffer()], CompileError);
-    assertInstantiateError([new Uint8Array("hi!")], CompileError);
+    // TODO typed array ctors must coerce their argument
+    //assertInstantiateError([new Uint8Array("hi!")], CompileError);
     assertInstantiateError([new ArrayBuffer("hi!")], CompileError);
     assertInstantiateError([importingModule], TypeError);
     assertInstantiateError([importingModule, null], TypeError);
     assertInstantiateError([importingModuleBinary, null], TypeError);
     assertInstantiateError([emptyModule, null], TypeError);
     assertInstantiateError([importingModuleBinary, null], TypeError);
     assertInstantiateError([importingModuleBinary, undefined], TypeError);
     assertInstantiateError([importingModuleBinary, {}], LinkError);
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/mozilla/meta/wasm/conversions.wast.js.html.ini
@@ -0,0 +1,8 @@
+[conversions.wast.js.html]
+  type: testharness
+  [#499 A wast test that runs without any special assertion.]
+    expected: FAIL
+
+  [#505 A wast test that runs without any special assertion.]
+    expected: FAIL
+
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/mozilla/meta/wasm/jsapi.js.html.ini
@@ -0,0 +1,3 @@
+[jsapi.js.html]
+  type: testharness
+  expected: ERROR