<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>229051</bug_id>
          
          <creation_ts>2021-08-12 14:09:46 -0700</creation_ts>
          <short_desc>[GTK][WPE] Tests webgl/1.0.x/conformance/glsl/bugs/character-set.html and webgl/1.0.x/conformance/misc/invalid-passed-params.html still fail after r280904</short_desc>
          <delta_ts>2022-09-29 12:54:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=228951</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=166536</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=208188</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>dino</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783948</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-08-12 14:09:46 -0700</bug_when>
    <thetext>r280904 cherry-picked an upstream Angle commit to fix the following tests:

   webgl/1.0.x/conformance/misc/invalid-passed-params.html
   webgl/1.0.x/conformance/glsl/bugs/character-set.html
   webgl/2.0.y/conformance/misc/invalid-passed-params.html
   webgl/2.0.y/conformance/glsl/bugs/character-set.html


But all this 4 tests still fail after that on platforms GTK and WPE

- The 2.0.y tests fail, as expected, because WebGL 2.0 is still not supported on this two platforms ( see bug 166536 and bug 208188 )

- However, the failure on the 1.0.x tests is not expected

This are the text failures this two 1.0.x tests give:


--- /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.x/conformance/glsl/bugs/character-set-expected.txt
+++ /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.x/conformance/glsl/bugs/character-set-actual.txt
@@ -1,4 +1,57 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../../resources/webgl_test_files/conformance/glsl/bugs/character-set.html
-[ PASS ] All tests passed
+
+[ 1: PASS ] context exists
+[ 2: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;$&apos; in identifier until compilation.
+[ 3: PASS ] getError was expected value: NO_ERROR : shaderSource allows Out-of-charset string &apos;$&apos; in comment until compilation.
+[ 4: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;$&apos; in ifdef-out until compilation.
+[ 5: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;$&apos; in ifdef-out #preproc until compilation.
+[ 6: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;$&apos; in #preproc until compilation.
+[ 7: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;$&apos; in comment after #define until compilation.
+[ 8: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;&quot;&apos; in identifier until compilation.
+[ 9: PASS ] getError was expected value: NO_ERROR : shaderSource allows Out-of-charset string &apos;&quot;&apos; in comment until compilation.
+[ 10: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;&quot;&apos; in ifdef-out until compilation.
+[ 11: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;&quot;&apos; in ifdef-out #preproc until compilation.
+[ 12: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;&quot;&apos; in #preproc until compilation.
+[ 13: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;&quot;&apos; in comment after #define until compilation.
+[ 14: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in identifier until compilation.
+[ 15: PASS ] getError was expected value: NO_ERROR : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in comment until compilation.
+[ 16: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in ifdef-out until compilation.
+[ 17: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in ifdef-out #preproc until compilation.
+[ 18: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in #preproc until compilation.
+[ 19: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in comment after #define until compilation.
+[ 20: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in identifier until compilation.
+[ 21: PASS ] getError was expected value: NO_ERROR : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in comment until compilation.
+[ 22: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in ifdef-out until compilation.
+[ 23: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in ifdef-out #preproc until compilation.
+[ 24: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in #preproc until compilation.
+[ 25: FAIL ] getError expected: NO_ERROR. Was INVALID_VALUE : shaderSource allows Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in comment after #define until compilation.
+[ 26: PASS ] Out-of-charset string &apos;$&apos; in identifier MUST NOT compile.
+[ 27: PASS ] Out-of-charset string &apos;$&apos; in comment MUST compile.
+[ 28: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;$&apos; in ifdef-out MUST compile.
+[ 29: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;$&apos; in ifdef-out #preproc MUST compile.
+[ 30: PASS ] Out-of-charset string &apos;$&apos; in #preproc MUST NOT compile.
+[ 31: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;$&apos; in comment after #define MUST compile.
+[ 32: PASS ] Out-of-charset string &apos;&quot;&apos; in identifier MUST NOT compile.
+[ 33: PASS ] Out-of-charset string &apos;&quot;&apos; in comment MUST compile.
+[ 34: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;&quot;&apos; in ifdef-out MUST compile.
+[ 35: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;&quot;&apos; in ifdef-out #preproc MUST compile.
+[ 36: PASS ] Out-of-charset string &apos;&quot;&apos; in #preproc MUST NOT compile.
+[ 37: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;&quot;&apos; in comment after #define MUST compile.
+[ 38: PASS ] Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in identifier MUST NOT compile.
+[ 39: PASS ] Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in comment MUST compile.
+[ 40: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in ifdef-out MUST compile.
+[ 41: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in ifdef-out #preproc MUST compile.
+[ 42: PASS ] Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in #preproc MUST NOT compile.
+[ 43: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;ä¸€äº›æ³¨é‡Š&apos; in comment after #define MUST compile.
+[ 44: PASS ] Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in identifier MUST NOT compile.
+[ 45: PASS ] Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in comment MUST compile.
+[ 46: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in ifdef-out MUST compile.
+[ 47: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in ifdef-out #preproc MUST compile.
+[ 48: PASS ] Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in #preproc MUST NOT compile.
+[ 49: FAIL ] [unexpected fragment shader compile status] (expected: true) Out-of-charset string &apos;#line 42 &quot;foo.glsl&quot;&apos; in comment after #define MUST compile.
+[ 50: PASS ] successfullyParsed is true
+[ 51: PASS ] successfullyParsed is true
+[ FAIL ] 32 failures reported
+[ FAIL ] 32 failures reported



--- /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.x/conformance/misc/invalid-passed-params-expected.txt
+++ /home/buildbot/worker/wpe-linux-64-release-tests/build/layout-test-results/webgl/1.0.x/conformance/misc/invalid-passed-params-actual.txt
@@ -1,4 +1,69 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../../resources/webgl_test_files/conformance/misc/invalid-passed-params.html
-[ PASS ] All tests passed
+
+[ 1: PASS ] getError was expected value: NO_ERROR : after evaluating: context.createShader(context.FRAGMENT_SHADER)
+[ 2: PASS ] getError was expected value: NO_ERROR : after evaluating: context.createShader(context.VERTEX_SHADER)
+[ 3: PASS ] getError was expected value: INVALID_ENUM : after evaluating: context.createShader(0)
+[ 4: PASS ] getError was expected value: INVALID_ENUM : after evaluating: context.createShader(context.TRIANGLES)
+[ 5: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.clear(desktopGL[&apos;ACCUM_BUFFER_BIT&apos;])
+[ 6: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.clear(desktopGL[&apos;ACCUM_BUFFER_BIT&apos;] | context.COLOR_BUFFER_BIT)
+[ 7: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.clear(desktopGL[&apos;ACCUM_BUFFER_BIT&apos;] | context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT)
+[ 8: PASS ] getError was expected value: NO_ERROR : after evaluating: context.clear(context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT)
+[ 9: PASS ] getError was expected value: NO_ERROR : after evaluating: context.bindTexture(context.TEXTURE_2D, tex)
+[ 10: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, -16, -16, 0, context.RGBA, context.UNSIGNED_BYTE, null)
+[ 11: PASS ] getError was expected value: NO_ERROR : after evaluating: context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 16, 16, 0, context.RGBA, context.UNSIGNED_BYTE, null)
+[ 12: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.texSubImage2D(context.TEXTURE_2D, 0, -1, -1, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels)
+[ 13: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, -1, -1, context.RGBA, context.UNSIGNED_BYTE, pixels)
+[ 14: PASS ] getError was expected value: NO_ERROR : after evaluating: context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels)
+[ 15: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, -1, -1, 0)
+[ 16: PASS ] getError was expected value: NO_ERROR : after evaluating: context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 16, 16, 0)
+[ 17: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.copyTexSubImage2D(context.TEXTURE_2D, 0, -1, -1, 0, 0, 2, 2)
+[ 18: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, -1, -1)
+[ 19: PASS ] getError was expected value: NO_ERROR : after evaluating: context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 2, 2)
+[ 20: PASS ] getError was expected value: NO_ERROR : after evaluating: context.bindRenderbuffer(context.RENDERBUFFER, renderbuffer)
+[ 21: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, -2, -2)
+[ 22: PASS ] getError was expected value: NO_ERROR : after evaluating: context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, 16, 16)
+[ 23: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.scissor(0, 0, -2, -2)
+[ 24: PASS ] getError was expected value: NO_ERROR : after evaluating: context.scissor(0, 0, 16, 16)
+[ 25: PASS ] getError was expected value: INVALID_VALUE : after evaluating: context.viewport(0, 0, -2, -2)
+[ 26: PASS ] getError was expected value: NO_ERROR : after evaluating: context.viewport(0, 0, 16, 16)
+[ 27: PASS ] context.getError() is context.NO_ERROR
+[ 28: PASS ] context.getError() is context.NO_ERROR
+[ 29: PASS ] linkStatus is true
+[ 30: PASS ] context.getError() is context.NO_ERROR
+[ 31: PASS ] context.getError() is context.NO_ERROR
+[ 32: PASS ] context.getError() is context.NO_ERROR
+[ 33: PASS ] context.getError() is context.NO_ERROR
+[ 34: PASS ] context.getError() is context.NO_ERROR
+[ 35: FAIL ] context.getError() should be 0. Was 1281.
+[ 36: PASS ] context.getError() is context.NO_ERROR
+[ 37: FAIL ] context.getError() should be 0. Was 1281.
+[ 38: PASS ] context.getError() is context.NO_ERROR
+[ 39: FAIL ] context.getError() should be 0. Was 1281.
+[ 40: PASS ] context.getError() is context.NO_ERROR
+[ 41: FAIL ] context.getError() should be 0. Was 1281.
+[ 42: PASS ] context.getError() is context.NO_ERROR
+[ 43: FAIL ] context.getError() should be 0. Was 1281.
+[ 44: PASS ] context.getError() is context.NO_ERROR
+[ 45: FAIL ] context.getError() should be 0. Was 1281.
+[ 46: PASS ] context.getError() is context.INVALID_VALUE
+[ 47: PASS ] context.getError() is context.INVALID_VALUE
+[ 48: PASS ] context.getError() is context.INVALID_VALUE
+[ 49: PASS ] context.getError() is context.INVALID_VALUE
+[ 50: PASS ] context.getError() is context.INVALID_VALUE
+[ 51: PASS ] context.getError() is context.INVALID_VALUE
+[ 52: PASS ] context.getError() is context.INVALID_VALUE
+[ 53: PASS ] context.getError() is context.INVALID_VALUE
+[ 54: PASS ] context.getError() is context.INVALID_VALUE
+[ 55: PASS ] context.getError() is context.INVALID_VALUE
+[ 56: PASS ] context.getError() is context.INVALID_VALUE
+[ 57: PASS ] context.getError() is context.INVALID_VALUE
+[ 58: PASS ] context.getError() is context.INVALID_VALUE
+[ 59: PASS ] context.getError() is context.INVALID_VALUE
+[ 60: PASS ] context.getError() is context.INVALID_VALUE
+[ 61: PASS ] context.getError() is context.INVALID_VALUE
+[ 62: PASS ] context.getError() is context.INVALID_VALUE
+[ 63: PASS ] context.getError() is context.INVALID_VALUE
+[ 64: PASS ] successfullyParsed is true
+[ FAIL ] 6 failures reported</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784012</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-08-12 18:29:03 -0700</bug_when>
    <thetext>Expectations updated on r281002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784196</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-08-13 12:54:36 -0700</bug_when>
    <thetext>Have the GTK / WPE ports switched over to using ANGLE as their WebGL 1.0 backend? If not that would explain these continued failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902153</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-09-29 12:53:54 -0700</bug_when>
    <thetext>After replacing the WebGL backend with ANGLE this test is fixed. The gardening commit is:

https://commits.webkit.org/255008@main</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902155</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-09-29 12:54:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/100578197&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>