Unreviewed, rolling out r189407 and r189424.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Sep 2015 04:59:47 +0000 (04:59 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 9 Sep 2015 04:59:47 +0000 (04:59 +0000)
https://bugs.webkit.org/show_bug.cgi?id=148993

Broke some tests, and made others flakily time out (Requested
by ap on #webkit).

Reverted changesets:

"[WebGL] Update WebGL 1.0.3 conformance tests"
https://bugs.webkit.org/show_bug.cgi?id=148858
http://trac.webkit.org/changeset/189407

"REGRESSION (r189407): webgl/1.0.3/conformance/extensions
/webgl-draw-buffers.html"
http://trac.webkit.org/changeset/189424

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189533 268f45cc-cd09-0410-ab3c-d52691b4dbfc

22 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/TestExpectations
LayoutTests/webgl/1.0.3/conformance/extensions/oes-texture-half-float-expected.txt
LayoutTests/webgl/1.0.3/conformance/extensions/webgl-compressed-texture-size-limit-expected.txt
LayoutTests/webgl/1.0.3/conformance/extensions/webgl-draw-buffers-expected.txt
LayoutTests/webgl/1.0.3/conformance/glsl/misc/shader-struct-scope-expected.txt
LayoutTests/webgl/1.0.3/conformance/glsl/misc/shaders-with-invariance-expected.txt
LayoutTests/webgl/1.0.3/conformance/glsl/misc/shaders-with-name-conflicts-expected.txt
LayoutTests/webgl/1.0.3/conformance/glsl/misc/struct-nesting-of-variable-names-expected.txt
LayoutTests/webgl/1.0.3/conformance/renderbuffers/feedback-loop-expected.txt
LayoutTests/webgl/1.0.3/conformance/textures/texture-copying-feedback-loops-expected.txt
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/extensions/angle-instanced-arrays.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/glsl/misc/shader-with-for-loop.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/glsl/misc/ternary-operators-in-global-initializers.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/misc/bad-arguments-test.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/more/functions/uniformMatrixBadArgs.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/more/unit.js
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/ogles/ogles-utils.js
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/textures/tex-image-with-invalid-data.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html
LayoutTests/webgl/1.0.3/resources/webgl_test_files/conformance/typedarrays/resources/typed-array-worker.js
LayoutTests/webgl/1.0.3/resources/webgl_test_files/webgl-conformance-tests.html

index 1af66cd..426e313 100644 (file)
@@ -1,3 +1,21 @@
+2015-09-08  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r189407 and r189424.
+        https://bugs.webkit.org/show_bug.cgi?id=148993
+
+        Broke some tests, and made others flakily time out (Requested
+        by ap on #webkit).
+
+        Reverted changesets:
+
+        "[WebGL] Update WebGL 1.0.3 conformance tests"
+        https://bugs.webkit.org/show_bug.cgi?id=148858
+        http://trac.webkit.org/changeset/189407
+
+        "REGRESSION (r189407): webgl/1.0.3/conformance/extensions
+        /webgl-draw-buffers.html"
+        http://trac.webkit.org/changeset/189424
+
 2015-09-08  Said Abou-Hallawa  <sabouhallawa@apple.com>
 
         [iOS] Unreviewed iOS gardening.
index 9399fd1..267c80e 100644 (file)
@@ -439,15 +439,29 @@ http/tests/webgl/1.0.2/origin-clean-conformance.html [ Skip ]
 
 webkit.org/b/124935 [ Debug ] webgl/1.0.2/conformance/glsl/misc/shader-with-non-reserved-words.html [ Slow ]
 
+# Skip 1.0.3 tests for now, to be unskipped when we get closer to conformance
+webgl/1.0.3/conformance/attribs [ Skip ]
+webgl/1.0.3/conformance/buffers [ Skip ]
+webgl/1.0.3/conformance/canvas [ Skip ]
+webgl/1.0.3/conformance/context [ Skip ]
+webgl/1.0.3/conformance/glsl [ Skip ]
+webgl/1.0.3/conformance/renderbuffers [ Skip ]
+webgl/1.0.3/conformance/rendering [ Skip ]
+webgl/1.0.3/conformance/state [ Skip ]
+webgl/1.0.3/conformance/textures [ Skip ]
+webgl/1.0.3/conformance/typedarrays [ Skip ]
+webgl/1.0.3/conformance/uniforms [ Skip ]
+webgl/1.0.3/conformance/extensions/angle-instanced-arrays.html [ Skip ]
+webgl/1.0.3/conformance/extensions/oes-texture-half-float.html [ Skip ]
+webgl/1.0.3/conformance/extensions/webgl-compressed-texture-size-limit.html [ Skip ]
+webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html [ Skip ]
+
 # Sending the mouse down event to the scrollbar starts a nested run loop which causes a hang.
 fast/events/mousedown-in-subframe-scrollbar.html [ Skip ]
 
 webkit.org/b/96828 fast/canvas/webgl/oes-vertex-array-object.html [ Skip ]
 webkit.org/b/96828 webgl/1.0.2/conformance/extensions/oes-vertex-array-object.html [ Skip ]
 
-[ Mavericks ] webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html [ Failure ]
-webgl/1.0.3/conformance/rendering/point-no-attributes.html [ Skip ]
-
 http/tests/misc/willCacheResponse-delegate-callback.html [ Failure ]
 http/tests/xmlhttprequest/basic-auth-nopassword.html [ Failure ]
 
index 3f5c2e0..70484a3 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/extensions/oes-texture-half-float.html
-FAIL
+PASS
 
index ddf2d04..8214286 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-size-limit.html
-FAIL
+PASS
 
index c5bca61..94f851c 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/extensions/webgl-draw-buffers.html
-FAIL
+PASS
 
index 4cff659..65dad03 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/glsl/misc/shader-struct-scope.html
-FAIL
+PASS
 
index f6fc118..eae6b8e 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/glsl/misc/shaders-with-invariance.html
-FAIL
+PASS
 
index a4e28c5..7961197 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/glsl/misc/shaders-with-name-conflicts.html
-FAIL
+PASS
 
index 4f7a1be..69dda27 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/glsl/misc/struct-nesting-of-variable-names.html
-FAIL
+PASS
 
index c707794..75d655e 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/renderbuffers/feedback-loop.html
-FAIL
+PASS
 
index d07a6cf..f9d20c7 100644 (file)
@@ -1,5 +1,5 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/textures/texture-copying-feedback-loops.html
-FAIL
+PASS
 
index 84c649d..a08bff7 100644 (file)
@@ -77,7 +77,6 @@ var program;
 
 if (!gl) {
     testFailed("WebGL context does not exist");
-    finishTest();
 } else {
     testPassed("WebGL context exists");
 
@@ -89,7 +88,6 @@ if (!gl) {
         testPassed("No ANGLE_instanced_arrays support -- this is legal");
 
         runSupportedTest(false);
-        finishTest();
     } else {
         testPassed("Successfully enabled ANGLE_instanced_arrays extension");
 
@@ -415,6 +413,10 @@ function runANGLECorruptionTest()
 
     cycleAndTest();
 }
+
+var successfullyParsed = true;
 </script>
+<script src="../../resources/js-test-post.js"></script>
+
 </body>
 </html>
index 10584fc..f0a7889 100644 (file)
@@ -48,7 +48,7 @@ uniform float time;
 uniform vec2 resolution;
 
 // Saw-tooth function that is synced with the demo music (128bpm)
-float gBeat;
+float gBeat=fract(time*3.2/3.);
 
 // Calculate the surface color
 vec3 surfColor(vec2 p)
@@ -74,7 +74,6 @@ vec3 trace(vec3 o,vec3 d)
 
 void main()
 {
-    gBeat=fract(time*3.2/3.);
     // Screen setup
     vec2 p=(2.*gl_FragCoord.xy-resolution)/resolution.y,
          q=2.*gl_FragCoord.xy/resolution-1.;
index 53d337f..d9a4954 100644 (file)
@@ -38,8 +38,8 @@
 <div id="console"></div>\r
 <script id="fragmentShader" type="text/something-not-javascript">\r
 precision mediump float;\r
-const $(type) green = $(green);\r
-const $(type) black = $(black);\r
+$(type) green = $(green);\r
+$(type) black = $(black);\r
 $(type) var = (true) ? green : black;\r
 void main() {\r
     gl_FragColor = $(asVec4);\r
index 2933f47..0046222 100644 (file)
@@ -71,13 +71,15 @@ function shouldBeEmptyString(command) {
 }
 
 for (var i = 0; i < testArguments.length; ++i) {
-  var func, func2;
+  var func, func2, func3;
   if (testArguments[i].throws) {
     func = shouldThrow;
     func2 = shouldThrow;
+    func3 = shouldThrow;
   } else {
     func = shouldBeUndefined;
     func2 = shouldBeNull;
+    func3 = shouldBeEmptyString;
   }
   argument = testArguments[i].value;
   func("context.compileShader(argument)");
@@ -99,15 +101,15 @@ for (var i = 0; i < testArguments.length; ++i) {
   func("context.uniform2iv(argument, new Int32Array([0, 0]))");
   func("context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0]))");
 
-  func2("context.getProgramInfoLog(argument)");
   func2("context.getProgramParameter(argument, 0)");
-  func2("context.getShaderInfoLog(argument)");
   func2("context.getShaderParameter(argument, 0)");
-  func2("context.getShaderSource(argument)");
   func2("context.getUniform(argument, loc)");
   func2("context.getUniform(program, argument)");
   func2("context.getUniformLocation(argument, 'u_modelViewProjMatrix')");
 
+  func3("context.getProgramInfoLog(argument)");
+  func3("context.getShaderInfoLog(argument)");
+  func3("context.getShaderSource(argument)");
 }
 
 var successfullyParsed = true;
index 7a3ddc6..305f634 100644 (file)
@@ -120,7 +120,7 @@ Tests.testUniformf = function(gl, unwrappedGL) {
   });
   var d = new Uint8Array(4);
   gl.readPixels(0,0,1,1,gl.RGBA, gl.UNSIGNED_BYTE, d);
-  assertArrayEqualsWithEpsilon([1,2,3,8], d, [1,1,1,1]);
+  assertArrayEquals([1,2,3,8], d);
   sh.destroy();
 }
 
index 89f4e87..920448f 100644 (file)
@@ -391,38 +391,6 @@ function assertArrayEquals(name, v, p) {
   return true;
 }
 
-function assertArrayEqualsWithEpsilon(name, v, p, l) {
-  if (l == null) { l = p; p = v; v = name; name = null; }
-  if (!v) {
-    testFailed("assertArrayEqualsWithEpsilon: first array undefined", name, v, p);
-    return false;
-  }
-  if (!p) {
-    testFailed("assertArrayEqualsWithEpsilon: second array undefined", name, v, p);
-    return false;
-  }
-  if (!l) {
-    testFailed("assertArrayEqualsWithEpsilon: limit array undefined", name, v, p);
-    return false;
-  }
-  if (v.length != p.length) {
-    testFailed("assertArrayEqualsWithEpsilon", name, v, p, l);
-    return false;
-  }
-  if (v.length != l.length) {
-    testFailed("assertArrayEqualsWithEpsilon", name, v, p, l);
-    return false;
-  }
-  for (var ii = 0; ii < v.length; ++ii) {
-    if (Math.abs(v[ii]- p[ii])>l[ii]) {
-      testFailed("assertArrayEqualsWithEpsilon", name, v, p, l);
-      return false;
-    }
-  }
-  testPassed("assertArrayEqualsWithEpsilon", name, v, p, l);
-  return true;
-}
-
 function assertNotEquals(name, v, p) {
   if (p == null) { p = v; v = name; name = null; }
   if (compare(v, p)) {
index 73be924..5bda8d5 100644 (file)
@@ -500,9 +500,6 @@ function drawWithProgram(program, programInfo, test) {
   // Check for unset uniforms
   for (var name in uniforms) {
     var uniform = uniforms[name];
-    if (name.indexOf("gl_") == 0) {
-      continue;
-    }
     if (!uniform.used) {
       testFailed("uniform " + name + " never set");
     }
index 03e7eba..b8b865f 100644 (file)
@@ -52,7 +52,7 @@ var tex;
 
 function setup() {
     tex = gl.createTexture();
-    gl.bindTexture(gl.TEXTURE_2D, tex);
+    gl.bindTexture(gl.TEXTURE_2D, bug32619_tests.tex);
     gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
 }
 
@@ -81,21 +81,6 @@ function test(desc, func, expected) {
     }
 }
 
-test("Calling texImage2D with no WebGLTexture bound generates INVALID_OPERATION",
-     function () {
-        gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 64, 64, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
-     },
-     gl.INVALID_OPERATION);
-
-test("Calling texSubImage2D with no WebGLTexture bound generates INVALID_OPERATION",
-     function () {
-        var buffer = new Uint8Array(4);
-        gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buffer);
-     },
-     gl.INVALID_OPERATION);
-
-setup();
-
 test("Passing a buffer not large enough to texImage2D should generate an INVALID_OPERATION",
      function () {
      var tooSmall = new Uint8Array(64);
@@ -133,8 +118,6 @@ test("Passing texSubImage2D parameter data of String type should throw a TypeErr
      },
      "exception");
 
-teardown();
-
 debug("");
 var successfullyParsed = true;
 </script>
index 9e58f5c..0f523cb 100644 (file)
@@ -195,30 +195,16 @@ function testInheritanceHierarchy() {
   // case, assert the new behavior.
   shouldBe('new Uint8ClampedArray(1) instanceof Uint8Array', 'false');
 
-  if (Object.getPrototypeOf(Int8Array.prototype) == Object.prototype) {
-    // ES5 behavior.
-    shouldBe('Object.getPrototypeOf(Int8Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Uint8Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Uint8ClampedArray.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Int16Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Uint16Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Int32Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Uint32Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Float32Array.prototype)', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Float64Array.prototype)', 'Object.prototype');
-  } else {
-    // As of ES6, the prototypes for typed array constructors point to an intrinsic object whose internal
-    // prototype is Object.prototype. Relevant spec section is 22.2.5.2: TypedArray.prototype.
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Int8Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Uint8Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Uint8ClampedArray.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Int16Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Uint16Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Int32Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Uint32Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Float32Array.prototype))', 'Object.prototype');
-    shouldBe('Object.getPrototypeOf(Object.getPrototypeOf(Float64Array.prototype))', 'Object.prototype');
-  }
+  shouldBe('Object.getPrototypeOf(Int8Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Uint8Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Uint8ClampedArray.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Int16Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Uint16Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Int32Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Uint32Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Float32Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(Float64Array.prototype)', 'Object.prototype');
+  shouldBe('Object.getPrototypeOf(DataView.prototype)', 'Object.prototype');
 }
 
 //
index c68ee07..6050865 100644 (file)
@@ -74,7 +74,7 @@ onmessage = function(event) {
     } else {
       valueToSend = view.buffer;
     }
-    var transferablesToSend = undefined;
+    var transferablesToSend = null;
     if (message.command == 'transfer' ||
         message.command == 'transferBuffer') {
       transferablesToSend = [ view.buffer ];
index b0a6471..381b8cd 100644 (file)
@@ -180,13 +180,6 @@ function start() {
     }
   }
 
-  function createStylesheet() {
-    var style = document.createElement("style");
-    style.appendChild(document.createTextNode(""));
-    document.head.appendChild(style);
-    return style.sheet;
-  }
-
   function create3DContext(canvas, attrs, version) {
     if (!canvas) {
       canvas = document.createElement("canvas");
@@ -933,19 +926,6 @@ function start() {
     autoScrollEnabled = autoScrollCheckbox.checked;
     autoScroll = autoScrollEnabled;
   };
-
-  var hidePassedSheet = createStylesheet();
-  var hidePassedCheckbox = document.getElementById("hidePassedCheckbox");
-  hidePassedCheckbox.checked = false;
-  hidePassedCheckbox.onclick = function() {
-    var hidePassedTests = hidePassedCheckbox.checked;
-    if (hidePassedTests) {
-        hidePassedSheet.insertRule(".testpagesuccess { display: none; }", 0);
-    } else {
-        hidePassedSheet.deleteRule(0);
-    }
-  };
-
   var textbutton = document.getElementById("showTextSummary");
   textbutton.onclick = function() {
     log("click");
@@ -1012,9 +992,6 @@ function start() {
               <input type="checkbox" id="autoScrollCheckbox"/>
               <label for="autoScrollCheckbox">auto scroll</label>
               <br/>
-              <input type="checkbox" id="hidePassedCheckbox"/>
-              <label for="hidePassedCheckbox">hide passed tests</label>
-              <br/>
               <input type="button" style="visibility: hidden;" value="display text summary" id="showTextSummary"/>
               <div id="nowebgl" class="nowebgl" style="display: none;">
                 This browser does not appear to support WebGL