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
--- 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