Bug 1436084 - Update webrender reftest expectations in w3c-css received reftests. r?xidorn draft
authorKartikaya Gupta <kgupta@mozilla.com>
Tue, 06 Feb 2018 11:52:39 -0500
changeset 751596 4283b73354e58ff13af869915d2537c63d785adb
parent 751595 aa82fb507093ba86f1275e1a19e25eef9725b399
push id98009
push userkgupta@mozilla.com
push dateTue, 06 Feb 2018 16:53:33 +0000
reviewersxidorn
bugs1436084
milestone60.0a1
Bug 1436084 - Update webrender reftest expectations in w3c-css received reftests. r?xidorn In some cases there are imported tests where the same test is compared against two reference pages, once as == and once as !=. Webrender is currently failing the == tests but not the != tests. However there is no way to annotate this precisely in the failures.list file, so we had previously marked the tests as random-if. This patch modifies the import-tests.py to recognize a ref:<file> argument in failures.list to match the reference file as well, and uses it to clarify the webrender reftest expectations. MozReview-Commit-ID: 6nAXoCQDreI
layout/reftests/w3c-css/failures.list
layout/reftests/w3c-css/import-tests.py
layout/reftests/w3c-css/received/reftest.list
--- a/layout/reftests/w3c-css/failures.list
+++ b/layout/reftests/w3c-css/failures.list
@@ -111,17 +111,19 @@ fuzzy-if(winWidget,110,1200) css-writing
 fuzzy-if(OSX||winWidget,110,1200) css-writing-modes/table-column-order-srl-006.xht
 fuzzy-if(OSX||winWidget,75,404)   css-writing-modes/text-align-v??-0??.xht
 fuzzy-if(OSX||winWidget,215,780)  css-writing-modes/text-baseline-???-00?.xht
 fuzzy-if(OSX,15,16) css-writing-modes/text-combine-upright-decorations-001.html
 fuzzy-if(OSX||winWidget,255,480)  css-writing-modes/text-indent-v??-0??.xht
 fuzzy-if(OSX||winWidget,226,960)  css-writing-modes/text-orientation-016.xht
 fuzzy-if(OSX||winWidget,223,720)  css-writing-modes/vertical-alignment-*.xht
 fuzzy-if(OSX||winWidget,153,612)  css-writing-modes/writing-mode-vertical-??-00?.*
-fuzzy(255,960) random-if(webrender) css-writing-modes/text-combine-upright-value-all-00?.html
+fuzzy(255,960) css-writing-modes/text-combine-upright-value-all-00?.html
+fuzzy(255,960) fails-if(webrender) css-writing-modes/text-combine-upright-value-all-002.html ref:css-writing-modes/reference/vertical-ahem-1x1-ref.html
+fuzzy(255,960) fails-if(webrender) css-writing-modes/text-combine-upright-value-all-003.html ref:css-writing-modes/reference/vertical-ahem-1x1-ref.html
 
 # Bug 1167911
 skip css-writing-modes/abs-pos-non-replaced-icb-vlr-021.xht
 skip css-writing-modes/abs-pos-non-replaced-icb-vrl-020.xht
 
 # Bug 1244601
 fails css-writing-modes/block-flow-direction-slr-058.xht
 fails css-writing-modes/block-flow-direction-srl-057.xht
--- a/layout/reftests/w3c-css/import-tests.py
+++ b/layout/reftests/w3c-css/import-tests.py
@@ -321,18 +321,21 @@ def read_fail_list():
     dirname = os.path.realpath(__file__).split(os.path.sep)
     dirname = os.path.sep.join(dirname[:len(dirname)-1])
     with open(os.path.join(dirname, "failures.list"), "rb") as f:
         for line in f:
             line = line.strip()
             if not line or line.startswith("#"):
                 continue
             items = line.split()
+            refpat = None
+            if items[-1].startswith("ref:"):
+                refpat = re.compile(fnmatch.translate(items.pop()[4:]))
             pat = re.compile(fnmatch.translate(items.pop()))
-            gFailList.append((pat, items))
+            gFailList.append((pat, refpat, items))
 
 def main():
     global gDestPath, gLog, gTestfiles, gTestFlags, gFailList
     read_options()
     setup_paths()
     read_fail_list()
     setup_log()
     write_log_header()
@@ -359,19 +362,21 @@ def main():
         testType = test[key - 1]
         testFlags = gTestFlags[test[key]]
         # Replace the Windows separators if any. Our internal strings
         # all use the system separator, however the failure/skip lists
         # and reftest.list always use '/' so we fix the paths here.
         test[key] = to_unix_path_sep(test[key])
         test[key + 1] = to_unix_path_sep(test[key + 1])
         testKey = test[key]
+        refKey = test[key + 1]
         fail = []
-        for pattern, failureType in gFailList:
-            if pattern.match(testKey):
+        for pattern, refpattern, failureType in gFailList:
+            if (refpattern is None or refpattern.match(refKey)) and \
+               pattern.match(testKey):
                 fail = failureType
         test = fail + test
         listfile.write(" ".join(test) + "\n")
     listfile.close()
 
     gLog.close()
 
 if __name__ == '__main__':
--- a/layout/reftests/w3c-css/received/reftest.list
+++ b/layout/reftests/w3c-css/received/reftest.list
@@ -1074,21 +1074,21 @@ fuzzy-if(OSX||winWidget,215,780) == css-
 fuzzy-if(OSX||winWidget,215,780) == css-writing-modes/text-baseline-vrl-002.xht css-writing-modes/text-baseline-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,215,780) == css-writing-modes/text-baseline-vrl-004.xht css-writing-modes/text-baseline-vrl-002-ref.xht
 fuzzy-if(OSX||winWidget,215,780) == css-writing-modes/text-baseline-vrl-006.xht css-writing-modes/text-baseline-vrl-006-ref.xht
 fuzzy-if(OSX,15,16) == css-writing-modes/text-combine-upright-decorations-001.html css-writing-modes/reference/text-combine-upright-decorations-001.html
 == css-writing-modes/text-combine-upright-inherit-all-001.html css-writing-modes/reference/text-combine-upright-inherit-all-001.html
 == css-writing-modes/text-combine-upright-inherit-all-002.html css-writing-modes/reference/text-combine-upright-inherit-all-002.html
 == css-writing-modes/text-combine-upright-layout-rules-001.html css-writing-modes/reference/text-combine-upright-layout-rules-001-ref.html
 == css-writing-modes/text-combine-upright-line-breaking-rules-001.html css-writing-modes/text-combine-upright-line-breaking-rules-001-ref.html
-fuzzy(255,960) random-if(webrender) == css-writing-modes/text-combine-upright-value-all-001.html css-writing-modes/reference/text-combine-upright-value-single-character.html
-fuzzy(255,960) random-if(webrender) == css-writing-modes/text-combine-upright-value-all-002.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
-fuzzy(255,960) random-if(webrender) != css-writing-modes/text-combine-upright-value-all-002.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
-fuzzy(255,960) random-if(webrender) == css-writing-modes/text-combine-upright-value-all-003.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
-fuzzy(255,960) random-if(webrender) != css-writing-modes/text-combine-upright-value-all-003.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
+fuzzy(255,960) == css-writing-modes/text-combine-upright-value-all-001.html css-writing-modes/reference/text-combine-upright-value-single-character.html
+fuzzy(255,960) fails-if(webrender) == css-writing-modes/text-combine-upright-value-all-002.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
+fuzzy(255,960) != css-writing-modes/text-combine-upright-value-all-002.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
+fuzzy(255,960) fails-if(webrender) == css-writing-modes/text-combine-upright-value-all-003.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
+fuzzy(255,960) != css-writing-modes/text-combine-upright-value-all-003.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
 skip == css-writing-modes/text-combine-upright-value-digits2-001.html css-writing-modes/reference/text-combine-upright-value-single-character.html
 skip == css-writing-modes/text-combine-upright-value-digits2-002.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
 skip != css-writing-modes/text-combine-upright-value-digits2-002.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
 == css-writing-modes/text-combine-upright-value-digits2-003.html css-writing-modes/reference/vertical-ahem-1x3-ref.html
 != css-writing-modes/text-combine-upright-value-digits2-003.html css-writing-modes/reference/horizontal-ahem-1x3-notref.html
 skip == css-writing-modes/text-combine-upright-value-digits3-001.html css-writing-modes/reference/vertical-ahem-1x1-ref.html
 skip != css-writing-modes/text-combine-upright-value-digits3-001.html css-writing-modes/reference/horizontal-ahem-1x1-notref.html
 skip == css-writing-modes/text-combine-upright-value-digits3-002.html css-writing-modes/reference/vertical-ahem-1x1-ref.html