Bug 1374317 - Mark some layers-specific tests as random-if when WebRender is enabled. r?mstange draft
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 19 Jun 2017 14:13:33 -0400
changeset 596732 1c08136603a65c8d16c88dd8c0197a535f9305f4
parent 596561 d39cd452b52bf82fa4a717172a62d62ab9e5366f
child 634056 ad879aa2a153ecca9d3a530754e613d4289cfca4
push id64742
push userkgupta@mozilla.com
push dateMon, 19 Jun 2017 18:13:54 +0000
reviewersmstange
bugs1374317
milestone56.0a1
Bug 1374317 - Mark some layers-specific tests as random-if when WebRender is enabled. r?mstange MozReview-Commit-ID: R1RNok4Def
layout/reftests/invalidation/reftest.list
layout/reftests/layers/reftest.list
layout/reftests/reftest-sanity/reftest.list
--- a/layout/reftests/invalidation/reftest.list
+++ b/layout/reftests/invalidation/reftest.list
@@ -37,41 +37,45 @@ pref(layout.animated-image-layers.enable
 == filter-userspace-offset.svg?offsetContainer=innerSVG&mask=boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=foreignObject&mask=boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&mask=userSpace-at100 filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=use&mask=userSpace-atZero filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=innerSVG&mask=userSpace-atZero filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=foreignObject&mask=userSpace-at100 filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-boundingBox filter-userspace-offset.svg
 == filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-userSpace-at100 filter-userspace-offset.svg
+
+# All the tests marked with random-if(webrender) are specific to "layers" and therefore not really valid with WebRender enabled.
+# We are marking them random-if so that we ensure they don't crash, but allow any non-crash result.
+
 fails-if(webrender) != scroll-inactive-layers.html about:blank
 fails-if(webrender) != scroll-inactive-layers-2.html about:blank
 fails-if(webrender) != inactive-layertree-visible-region-1.html about:blank
 fails-if(webrender) != inactive-layertree-visible-region-2.html about:blank
 fails-if(webrender) != transform-floating-point-invalidation.html about:blank
 fails-if(webrender) != transform-floating-point-invalidation.html?reverse about:blank
 fails-if(webrender) != nudge-to-integer-invalidation.html about:blank
 fails-if(webrender) != nudge-to-integer-invalidation.html?reverse about:blank
 fails-if(webrender) skip-if(styloVsGecko) != clipped-animated-transform-1.html about:blank # Bug 1352628 (styloVsGecko)
-fails-if(webrender) != paintedlayer-recycling-1.html about:blank
-fails-if(webrender) != paintedlayer-recycling-2.html about:blank
-pref(layers.single-tile.enabled,false) fails-if(webrender) != paintedlayer-recycling-3.html about:blank
-fails-if(webrender) != paintedlayer-recycling-4.html about:blank
-fails-if(webrender) != paintedlayer-recycling-5.html about:blank
-fails-if(webrender) != paintedlayer-recycling-6.html about:blank
-fails-if(webrender) != paintedlayer-recycling-7.html about:blank
+random-if(webrender) != paintedlayer-recycling-1.html about:blank
+random-if(webrender) != paintedlayer-recycling-2.html about:blank
+pref(layers.single-tile.enabled,false) random-if(webrender) != paintedlayer-recycling-3.html about:blank
+random-if(webrender) != paintedlayer-recycling-4.html about:blank
+random-if(webrender) != paintedlayer-recycling-5.html about:blank
+random-if(webrender) != paintedlayer-recycling-6.html about:blank
+random-if(webrender) != paintedlayer-recycling-7.html about:blank
 != masklayer-1.html about:blank
 != masklayer-2.html about:blank
-fails-if(webrender) != layer-splitting-1.html about:blank
-fails-if(webrender) != layer-splitting-2.html about:blank
-fails-if(webrender) != layer-splitting-3.html about:blank
-fails-if(webrender) != layer-splitting-4.html about:blank
-fails-if(webrender) != layer-splitting-5.html about:blank
-fails-if(webrender) != layer-splitting-6.html about:blank
-fails-if(webrender) != layer-splitting-7.html about:blank
+random-if(webrender) != layer-splitting-1.html about:blank
+random-if(webrender) != layer-splitting-2.html about:blank
+random-if(webrender) != layer-splitting-3.html about:blank
+random-if(webrender) != layer-splitting-4.html about:blank
+random-if(webrender) != layer-splitting-5.html about:blank
+random-if(webrender) != layer-splitting-6.html about:blank
+random-if(webrender) != layer-splitting-7.html about:blank
 fuzzy-if(gtkWidget,2,4) fuzzy-if(asyncPan,2,3955) fuzzy-if(OSX,179,30) fuzzy-if(skiaContent,16,3230) == image-scrolling-zoom-1.html image-scrolling-zoom-1-ref.html
 != image-scrolling-zoom-1-ref.html image-scrolling-zoom-1-notref.html
 pref(layers.single-tile.enabled,false) fails-if(webrender) != fast-scrolling.html about:blank
 fails-if(webrender) == background-position-1.html background-position-1-ref.html
 == background-position-2a.html background-position-2-ref.html
 == background-position-2b.html background-position-2-ref.html
 == background-position-2c.html background-position-2-ref.html
 == background-position-2d.html background-position-2-ref.html
--- a/layout/reftests/layers/reftest.list
+++ b/layout/reftests/layers/reftest.list
@@ -1,16 +1,20 @@
 == move-to-background-1.html move-to-background-1-ref.html
 fuzzy-if(cocoaWidget,2,6) random-if(Android) == component-alpha-exit-1.html component-alpha-exit-1-ref.html # bug 760275
-fails-if(webrender) != pull-background-1.html about:blank
-fails-if(webrender) random-if(styloVsGecko) != pull-background-2.html about:blank
-fails-if(webrender) != pull-background-3.html about:blank
-fails-if(webrender) != pull-background-4.html about:blank
-fails-if(webrender) fuzzy-if(styloVsGecko,1,1) != pull-background-5.html about:blank
-fails-if(webrender) != pull-background-6.html about:blank
+
+# The pull-background-* tests are specific to "layers" and are not valid with WebRender.
+# We mark them random-if to make sure they don't crash, but allow any result.
+random-if(webrender) != pull-background-1.html about:blank
+random-if(webrender) random-if(styloVsGecko) != pull-background-2.html about:blank
+random-if(webrender) != pull-background-3.html about:blank
+random-if(webrender) != pull-background-4.html about:blank
+random-if(webrender) fuzzy-if(styloVsGecko,1,1) != pull-background-5.html about:blank
+random-if(webrender) != pull-background-6.html about:blank
+
 # The animated-position tests are disabled for intermittent failures / passes, bug 1150941
 skip != pull-background-animated-position-1.html about:blank # Fails with event regions
 skip != pull-background-animated-position-2.html about:blank
 skip != pull-background-animated-position-3.html about:blank # Fails because PaintedLayer item assignment doesn't recognize overflow:hidden clips
 skip != pull-background-animated-position-4.html about:blank # Fails because PaintedLayer item assignment and background pulling don't recognize overflow:hidden clips
 skip != pull-background-animated-position-5.html about:blank # Fails because ownLayer bounds don't anticipate changes of animated contents, but doesn't fail with event regions
 skip-if(!asyncPan) != pull-background-displayport-1.html about:blank
 skip-if(!asyncPan) random-if(styloVsGecko) != pull-background-displayport-2.html about:blank
--- a/layout/reftests/reftest-sanity/reftest.list
+++ b/layout/reftests/reftest-sanity/reftest.list
@@ -160,48 +160,52 @@ fuzzy(1,0-2) skip-if(styloVsGecko) != fu
 # If enabled, the following two should result in UNEXPECTED-PASS because
 # they are both overfuzzed
 # fuzzy(3-4,250000) == fuzzy.html fuzzy-ref.html
 # fuzzy(1,250001-250002) == fuzzy.html fuzzy-ref.html
 #
 # When using 565 fuzzy.html and fuzzy-ref.html will compare as equal
 fails-if(!styloVsGecko) fuzzy-if(false,2,1) random-if(Android) == fuzzy.html fuzzy-ref.html
 
-# Test that reftest-no-paint fails correctly. With WR enabled, it will generate color layers instead of updating color on the painted layer.
-fails skip-if(webrender) == reftest-no-paint.html reftest-no-paint-ref.html
+# Test that reftest-no-paint fails correctly.
+# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
+fails random-if(webrender) == reftest-no-paint.html reftest-no-paint-ref.html
 
 skip-if(!asyncPan||!browserIsRemote) == async-scroll-1a.html async-scroll-1-ref.html
 
 # Disable low-res painting for this test as it will cause more to
 # be drawn than we want.
 default-preferences pref(layers.low-precision-buffer,false)
 skip-if(!asyncPan||!browserIsRemote) != async-scroll-1b.html async-scroll-1-ref.html
 default-preferences
 
 skip-if(!Android) pref(apz.allow_zooming,true) != async-zoom-1.html async-zoom-1-ref.html
 fuzzy(112,800) skip-if(!Android) pref(apz.allow_zooming,true) == async-zoom-2.html async-zoom-2-ref.html
 
 # reftest-opaque-layer
-fails-if(webrender) == reftest-opaque-layer-pass.html reftest-opaque-layer-pass.html
-fails-if(webrender) != reftest-opaque-layer-pass.html about:blank
-fails-if(webrender) != about:blank reftest-opaque-layer-pass.html
-fails == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
+# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
+random-if(webrender) == reftest-opaque-layer-pass.html reftest-opaque-layer-pass.html
+random-if(webrender) != reftest-opaque-layer-pass.html about:blank
+random-if(webrender) != about:blank reftest-opaque-layer-pass.html
+fails random-if(webrender) == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
 
 # If reftest-opaque-layer fails (no matter whether it fails in the test or in the reference),
 # it shouldn't matter whether the test matches the reference.
-fails != reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
-fails == reftest-opaque-layer-fail.html about:blank
-fails-if(!styloVsGecko) == about:blank reftest-opaque-layer-fail.html
-fails != reftest-opaque-layer-fail.html about:blank
-fails-if(!styloVsGecko) != about:blank reftest-opaque-layer-fail.html
+# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
+fails random-if(webrender) != reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
+fails random-if(webrender) == reftest-opaque-layer-fail.html about:blank
+fails-if(!styloVsGecko) random-if(webrender) == about:blank reftest-opaque-layer-fail.html
+fails random-if(webrender) != reftest-opaque-layer-fail.html about:blank
+fails-if(!styloVsGecko) random-if(webrender) != about:blank reftest-opaque-layer-fail.html
 
 # reftest-opaque-layer and reftest-wait
-fails-if(webrender) == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-pass.html
-fails-if(webrender) != reftest-opaque-layer-wait-pass.html about:blank
-fails fails-if(styloVsGecko) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
-fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-opaque-layer-wait-fail.html about:blank
+# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
+random-if(webrender) == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-pass.html
+random-if(webrender) != reftest-opaque-layer-wait-pass.html about:blank
+fails fails-if(styloVsGecko) random-if(webrender) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
+fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-opaque-layer-wait-fail.html about:blank
 
 # reftest-assigned-layer
 != reftest-assigned-layer-pass.html about:blank
 fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-1.html about:blank
 fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-2.html about:blank
 fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-3.html about:blank
 fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-4.html about:blank