| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py
|
| index 5c16b948bdfb019ee6fe5644262d1b13b9889704..c38a64469fef589a2fafd9c8ab74fc3504abd6a5 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py
|
| @@ -33,11 +33,14 @@ from webkitpy.layout_tests.models import test_expectations
|
|
|
| def is_reftest_failure(failure_list):
|
| failure_types = [type(f) for f in failure_list]
|
| - return set((FailureReftestMismatch, FailureReftestMismatchDidNotOccur, FailureReftestNoImagesGenerated)).intersection(failure_types)
|
| + return set((FailureReftestMismatch, FailureReftestMismatchDidNotOccur, FailureReftestNoImagesGenerated)).intersection(
|
| + failure_types)
|
|
|
| # FIXME: This is backwards. Each TestFailure subclass should know what
|
| # test_expectation type it corresponds too. Then this method just
|
| # collects them all from the failure list and returns the worst one.
|
| +
|
| +
|
| def determine_result_type(failure_list):
|
| """Takes a set of test_failures and returns which result type best fits
|
| the list of failures. "Best fits" means we use the worst type of failure.
|
| @@ -57,16 +60,12 @@ def determine_result_type(failure_list):
|
| return test_expectations.TIMEOUT
|
| elif FailureEarlyExit in failure_types:
|
| return test_expectations.SKIP
|
| - elif (FailureMissingResult in failure_types or
|
| - FailureMissingImage in failure_types or
|
| - FailureMissingImageHash in failure_types or
|
| - FailureMissingAudio in failure_types):
|
| + elif (FailureMissingResult in failure_types or FailureMissingImage in failure_types or
|
| + FailureMissingImageHash in failure_types or FailureMissingAudio in failure_types):
|
| return test_expectations.MISSING
|
| else:
|
| - is_text_failure = (FailureTextMismatch in failure_types or
|
| - FailureTestHarnessAssertion in failure_types)
|
| - is_image_failure = (FailureImageHashIncorrect in failure_types or
|
| - FailureImageHashMismatch in failure_types)
|
| + is_text_failure = (FailureTextMismatch in failure_types or FailureTestHarnessAssertion in failure_types)
|
| + is_image_failure = (FailureImageHashIncorrect in failure_types or FailureImageHashMismatch in failure_types)
|
| is_audio_failure = (FailureAudioMismatch in failure_types)
|
| if is_text_failure and is_image_failure:
|
| return test_expectations.IMAGE_PLUS_TEXT
|
| @@ -77,8 +76,7 @@ def determine_result_type(failure_list):
|
| elif is_audio_failure:
|
| return test_expectations.AUDIO
|
| else:
|
| - raise ValueError("unclassifiable set of failures: "
|
| - + str(failure_types))
|
| + raise ValueError("unclassifiable set of failures: " + str(failure_types))
|
|
|
|
|
| class TestFailure(object):
|
| @@ -226,14 +224,9 @@ class FailureEarlyExit(TestFailure):
|
| def message(self):
|
| return "skipped due to early exit"
|
|
|
| -
|
| # Convenient collection of all failure classes for anything that might
|
| # need to enumerate over them all.
|
| -ALL_FAILURE_CLASSES = (FailureTimeout, FailureCrash, FailureMissingResult,
|
| - FailureTestHarnessAssertion,
|
| - FailureTextMismatch, FailureMissingImageHash,
|
| - FailureMissingImage, FailureImageHashMismatch,
|
| - FailureImageHashIncorrect, FailureReftestMismatch,
|
| - FailureReftestMismatchDidNotOccur, FailureReftestNoImagesGenerated,
|
| - FailureMissingAudio, FailureAudioMismatch,
|
| - FailureEarlyExit)
|
| +ALL_FAILURE_CLASSES = (FailureTimeout, FailureCrash, FailureMissingResult, FailureTestHarnessAssertion, FailureTextMismatch,
|
| + FailureMissingImageHash, FailureMissingImage, FailureImageHashMismatch, FailureImageHashIncorrect,
|
| + FailureReftestMismatch, FailureReftestMismatchDidNotOccur, FailureReftestNoImagesGenerated,
|
| + FailureMissingAudio, FailureAudioMismatch, FailureEarlyExit)
|
|
|