Title: [129459] trunk
Revision
129459
Author
[email protected]
Date
2012-09-24 23:17:58 -0700 (Mon, 24 Sep 2012)

Log Message

Unexpected reftest passes are only reported when pixel testing is enabled in results.html as well
https://bugs.webkit.org/show_bug.cgi?id=97426

Reviewed by Ojan Vafai.

Tools: 

The 'is_reftest' member of the TestResult class has been replaced by the reftest_type
member which is a set containing either '!=', '==', both or none if the test represented
by the object is not a reftest.

When summarizing results, the test dictionary is updated to contain the 'reftest_type' key
if the test is a reftest. The value of this key is a list of all the reftest types of this test.

The test failure interpretation method has been refactored, it now reports only
missing results of various formats and image diff percent in case of image or
reftest mismatch.

Unit tests have been modified accordingly.

* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
(LayoutTestRunnerTests.test_update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(interpret_test_failures):
(summarize_results):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ResultSummaryTest.test_interpret_test_failures):
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner.run):
(SingleTestRunner._run_reftest):
* Scripts/webkitpy/layout_tests/models/test_results.py:
(TestResult.__init__):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(EndToEndTest.test_reftest_with_two_notrefs):

LayoutTests: 

Report unexpectedly passing reftests as well. Test cases included.

* fast/harness/resources/results-test.js:
* fast/harness/results-expected.txt:
* fast/harness/results.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (129458 => 129459)


--- trunk/LayoutTests/ChangeLog	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/LayoutTests/ChangeLog	2012-09-25 06:17:58 UTC (rev 129459)
@@ -1,3 +1,16 @@
+2012-09-24  Zan Dobersek  <[email protected]>
+
+        Unexpected reftest passes are only reported when pixel testing is enabled in results.html as well
+        https://bugs.webkit.org/show_bug.cgi?id=97426
+
+        Reviewed by Ojan Vafai.
+
+        Report unexpectedly passing reftests as well. Test cases included.
+
+        * fast/harness/resources/results-test.js:
+        * fast/harness/results-expected.txt:
+        * fast/harness/results.html:
+
 2012-09-24  Filip Pizlo  <[email protected]>
 
         SerializedScriptValue isn't aware of indexed storage, but should be

Modified: trunk/LayoutTests/fast/harness/resources/results-test.js (129458 => 129459)


--- trunk/LayoutTests/fast/harness/resources/results-test.js	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/LayoutTests/fast/harness/resources/results-test.js	2012-09-25 06:17:58 UTC (rev 129459)
@@ -266,16 +266,31 @@
 
     results = mockResults();
     results.tests['bar-reftest.html'] = mockExpectation('PASS', 'IMAGE', 1);
-    results.tests['bar-reftest.html'].is_reftest = true;
+    results.tests['bar-reftest.html'].reftest_type = ['=='];
     runSingleRowTest(results, false, '', 'ref html images diff (1%) ');
 
     results = mockResults();
     results.tests['bar-reftest-mismatch.html'] = mockExpectation('PASS', 'IMAGE');
-    results.tests['bar-reftest-mismatch.html'].is_mismatch_reftest = true;
+    results.tests['bar-reftest-mismatch.html'].reftest_type = ['!='];
     runSingleRowTest(results, false, '', 'ref mismatch html actual ');
 
+    results = mockResults();
+    results.tests['bar-reftest.html'] = mockExpectation('IMAGE', 'PASS');
+    results.tests['bar-reftest.html'].reftest_type = ['=='];
+    results.pixel_tests_enabled = false;
+    runTest(results, function() {
+        assertTrue(document.querySelector('tbody td:nth-child(1)').textContent == 'bar-reftest.html \u2691');
+    });
 
     results = mockResults();
+    results.tests['bar-reftest-mismatch.html'] = mockExpectation('IMAGE', 'PASS');
+    results.tests['bar-reftest-mismatch.html'].reftest_type = ['!='];
+    results.pixel_tests_enabled = false;
+    runTest(results, function() {
+        assertTrue(document.querySelector('tbody td:nth-child(1)').textContent == 'bar-reftest-mismatch.html \u2691');
+    });
+
+    results = mockResults();
     var subtree = results.tests['foo'] = {}
     subtree['bar-flaky-pass.html'] = mockExpectation('PASS TEXT', 'PASS');
     runTest(results, function() {

Modified: trunk/LayoutTests/fast/harness/results-expected.txt (129458 => 129459)


--- trunk/LayoutTests/fast/harness/results-expected.txt	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/LayoutTests/fast/harness/results-expected.txt	2012-09-25 06:17:58 UTC (rev 129459)
@@ -94,67 +94,55 @@
 TEST-15: PASS
 TEST-15: PASS
 TEST-16: PASS
-TEST-16: PASS
-TEST-16: PASS
 TEST-17: PASS
-TEST-17: PASS
-TEST-17: PASS
 TEST-18: PASS
 TEST-18: PASS
 TEST-18: PASS
-TEST-18: PASS
 TEST-19: PASS
 TEST-19: PASS
+TEST-19: PASS
 TEST-20: PASS
 TEST-20: PASS
 TEST-20: PASS
 TEST-20: PASS
-TEST-20: PASS
 TEST-21: PASS
 TEST-21: PASS
 TEST-22: PASS
 TEST-22: PASS
+TEST-22: PASS
+TEST-22: PASS
+TEST-22: PASS
 TEST-23: PASS
+TEST-23: PASS
 TEST-24: PASS
 TEST-24: PASS
 TEST-25: PASS
 TEST-26: PASS
+TEST-26: PASS
 TEST-27: PASS
 TEST-28: PASS
-TEST-28: PASS
-TEST-28: PASS
 TEST-29: PASS
-TEST-29: PASS
 TEST-30: PASS
 TEST-30: PASS
 TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
-TEST-30: PASS
 TEST-31: PASS
 TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
-TEST-31: PASS
 TEST-32: PASS
 TEST-32: PASS
 TEST-32: PASS
 TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
+TEST-32: PASS
 TEST-33: PASS
 TEST-33: PASS
 TEST-33: PASS
@@ -163,65 +151,79 @@
 TEST-33: PASS
 TEST-33: PASS
 TEST-33: PASS
+TEST-33: PASS
+TEST-33: PASS
 TEST-34: PASS
 TEST-34: PASS
 TEST-34: PASS
+TEST-34: PASS
 TEST-35: PASS
 TEST-35: PASS
 TEST-35: PASS
+TEST-35: PASS
+TEST-35: PASS
+TEST-35: PASS
+TEST-35: PASS
+TEST-35: PASS
 TEST-36: PASS
 TEST-36: PASS
 TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
-TEST-36: PASS
 TEST-37: PASS
 TEST-37: PASS
 TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
-TEST-37: PASS
 TEST-38: PASS
 TEST-38: PASS
 TEST-38: PASS
 TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
+TEST-38: PASS
 TEST-39: PASS
 TEST-39: PASS
 TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-39: PASS
+TEST-40: PASS
+TEST-40: PASS
+TEST-40: PASS
+TEST-40: PASS
+TEST-41: PASS
+TEST-41: PASS
+TEST-41: PASS

Modified: trunk/LayoutTests/fast/harness/results.html (129458 => 129459)


--- trunk/LayoutTests/fast/harness/results.html	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/LayoutTests/fast/harness/results.html	2012-09-25 06:17:58 UTC (rev 129459)
@@ -512,7 +512,7 @@
     }
 
     if (actual == 'PASS' && expected != 'PASS') {
-        if (expected != 'IMAGE' || globalState().results.pixel_tests_enabled) {
+        if (expected != 'IMAGE' || (globalState().results.pixel_tests_enabled || testObject.reftest_type)) {
             globalState().unexpectedPassTests.push(testObject);
         }
         return;
@@ -568,7 +568,7 @@
     var row = '<tbody'
     if (globalState().results.uses_expectations_file)
         row += ' class="' + (testObject.isExpected ? 'expected' : '') + '"';
-    if (testObject.is_mismatch_reftest)
+    if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') != -1)
         row += ' mismatchreftest=true';
     row += '><tr>';
 
@@ -602,11 +602,11 @@
     if (actual.indexOf('IMAGE') != -1) {
         globalState().hasImageFailures = true;
 
-        if (testObject.is_mismatch_reftest) {
+        if (testObject.reftest_type && testObject.reftest_type.indexOf('!=') != -1) {
             row += resultLink(test_prefix, '-expected-mismatch.html', 'ref mismatch html');
             row += resultLink(test_prefix, '-actual.png', 'actual');
         } else {
-            if (testObject.is_reftest) {
+            if (testObject.reftest_type && testObject.reftest_type.indexOf('==') != -1) {
                 row += resultLink(test_prefix, '-expected.html', 'ref html');
             }
             if (globalState().shouldToggleImages) {

Modified: trunk/Tools/ChangeLog (129458 => 129459)


--- trunk/Tools/ChangeLog	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/ChangeLog	2012-09-25 06:17:58 UTC (rev 129459)
@@ -1,3 +1,40 @@
+2012-09-24  Zan Dobersek  <[email protected]>
+
+        Unexpected reftest passes are only reported when pixel testing is enabled in results.html as well
+        https://bugs.webkit.org/show_bug.cgi?id=97426
+
+        Reviewed by Ojan Vafai.
+
+        The 'is_reftest' member of the TestResult class has been replaced by the reftest_type
+        member which is a set containing either '!=', '==', both or none if the test represented
+        by the object is not a reftest.
+
+        When summarizing results, the test dictionary is updated to contain the 'reftest_type' key
+        if the test is a reftest. The value of this key is a list of all the reftest types of this test.
+
+        The test failure interpretation method has been refactored, it now reports only
+        missing results of various formats and image diff percent in case of image or
+        reftest mismatch.
+
+        Unit tests have been modified accordingly.
+
+        * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
+        (LayoutTestRunner._update_summary_with_result):
+        * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
+        (LayoutTestRunnerTests.test_update_summary_with_result):
+        * Scripts/webkitpy/layout_tests/controllers/manager.py:
+        (interpret_test_failures):
+        (summarize_results):
+        * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
+        (ResultSummaryTest.test_interpret_test_failures):
+        * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
+        (SingleTestRunner.run):
+        (SingleTestRunner._run_reftest):
+        * Scripts/webkitpy/layout_tests/models/test_results.py:
+        (TestResult.__init__):
+        * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
+        (EndToEndTest.test_reftest_with_two_notrefs):
+
 2012-09-24  Sam Weinig  <[email protected]>
 
         Use NSUserDefaults rather than an environment variable to control whether to use an XPC Service for the WebProcess

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -198,7 +198,7 @@
             exp_str = got_str = 'SKIP'
             expected = True
         else:
-            expected = self._expectations.matches_an_expected_result(result.test_name, result.type, self._options.pixel_tests or result.is_reftest)
+            expected = self._expectations.matches_an_expected_result(result.test_name, result.type, self._options.pixel_tests or result.reftest_type)
             exp_str = self._expectations.get_expectations_string(result.test_name)
             got_str = self._expectations.expectation_to_string(result.type)
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -152,13 +152,13 @@
         runner._expectations = expectations
 
         result_summary = ResultSummary(expectations, [test], 1, set())
-        result = TestResult(test_name=test, failures=[test_failures.FailureReftestMismatchDidNotOccur()], is_reftest=True)
+        result = TestResult(test_name=test, failures=[test_failures.FailureReftestMismatchDidNotOccur()], reftest_type=['!='])
         runner._update_summary_with_result(result_summary, result)
         self.assertEquals(1, result_summary.expected)
         self.assertEquals(0, result_summary.unexpected)
 
         result_summary = ResultSummary(expectations, [test], 1, set())
-        result = TestResult(test_name=test, failures=[], is_reftest=True)
+        result = TestResult(test_name=test, failures=[], reftest_type=['=='])
         runner._update_summary_with_result(result_summary, result)
         self.assertEquals(0, result_summary.expected)
         self.assertEquals(1, result_summary.unexpected)

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -75,7 +75,7 @@
         test_name: test name relative to layout_tests directory
         failures: list of test failures
     Returns:
-        A dictionary like {'is_reftest': True, ...}
+        A dictionary like {'is_missing_text': True, ...}
     """
     test_dict = {}
     failure_types = [type(failure) for failure in failures]
@@ -84,20 +84,16 @@
     if test_failures.FailureMissingAudio in failure_types:
         test_dict['is_missing_audio'] = True
 
-    for failure in failures:
-        if isinstance(failure, test_failures.FailureImageHashMismatch):
-            test_dict['image_diff_percent'] = failure.diff_percent
-        elif isinstance(failure, test_failures.FailureReftestMismatch):
-            test_dict['is_reftest'] = True
-            test_dict['image_diff_percent'] = failure.diff_percent
-        elif isinstance(failure, test_failures.FailureReftestMismatchDidNotOccur):
-            test_dict['is_mismatch_reftest'] = True
-
     if test_failures.FailureMissingResult in failure_types:
         test_dict['is_missing_text'] = True
 
     if test_failures.FailureMissingImage in failure_types or test_failures.FailureMissingImageHash in failure_types:
         test_dict['is_missing_image'] = True
+
+    for failure in failures:
+        if isinstance(failure, test_failures.FailureImageHashMismatch) or isinstance(failure, test_failures.FailureReftestMismatch):
+            test_dict['image_diff_percent'] = failure.diff_percent
+
     return test_dict
 
 
@@ -172,6 +168,9 @@
         if result.has_stderr:
             test_dict['has_stderr'] = True
 
+        if result.reftest_type:
+            test_dict.update(reftest_type=list(result.reftest_type))
+
         if expectations.has_modifier(test_name, test_expectations.WONTFIX):
             test_dict['wontfix'] = True
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -104,25 +104,33 @@
 
     def test_interpret_test_failures(self):
         test_dict = interpret_test_failures(self.port, 'foo/reftest.html',
-            [test_failures.FailureReftestMismatch(self.port.abspath_for_test('foo/reftest-expected.html'))])
-        self.assertTrue('is_reftest' in test_dict)
-        self.assertFalse('is_mismatch_reftest' in test_dict)
+            [test_failures.FailureImageHashMismatch(diff_percent=0.42)])
+        self.assertEqual(test_dict['image_diff_percent'], 0.42)
 
         test_dict = interpret_test_failures(self.port, 'foo/reftest.html',
-            [test_failures.FailureReftestMismatch(self.port.abspath_for_test('foo/common.html'))])
-        self.assertTrue('is_reftest' in test_dict)
-        self.assertFalse('is_mismatch_reftest' in test_dict)
+            [test_failures.FailureReftestMismatch(self.port.abspath_for_test('foo/reftest-expected.html'))])
+        self.assertTrue('image_diff_percent' in test_dict)
 
         test_dict = interpret_test_failures(self.port, 'foo/reftest.html',
             [test_failures.FailureReftestMismatchDidNotOccur(self.port.abspath_for_test('foo/reftest-expected-mismatch.html'))])
-        self.assertFalse('is_reftest' in test_dict)
-        self.assertTrue(test_dict['is_mismatch_reftest'])
+        self.assertDictEqual(test_dict, {})
 
-        test_dict = interpret_test_failures(self.port, 'foo/reftest.html',
-            [test_failures.FailureReftestMismatchDidNotOccur(self.port.abspath_for_test('foo/common.html'))])
-        self.assertFalse('is_reftest' in test_dict)
-        self.assertTrue(test_dict['is_mismatch_reftest'])
+        test_dict = interpret_test_failures(self.port, 'foo/audio-test.html',
+            [test_failures.FailureMissingAudio()])
+        self.assertTrue('is_missing_audio' in test_dict)
 
+        test_dict = interpret_test_failures(self.port, 'foo/text-test.html',
+            [test_failures.FailureMissingResult()])
+        self.assertTrue('is_missing_text' in test_dict)
+
+        test_dict = interpret_test_failures(self.port, 'foo/pixel-test.html',
+            [test_failures.FailureMissingImage()])
+        self.assertTrue('is_missing_image' in test_dict)
+
+        test_dict = interpret_test_failures(self.port, 'foo/pixel-test.html',
+            [test_failures.FailureMissingImageHash()])
+        self.assertTrue('is_missing_image' in test_dict)
+
     def get_result(self, test_name, result_type=test_expectations.PASS, run_time=0):
         failures = []
         if result_type == test_expectations.TIMEOUT:

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -94,7 +94,8 @@
     def run(self):
         if self._reference_files:
             if self._port.get_option('no_ref_tests') or self._options.reset_results:
-                result = TestResult(self._test_name, is_reftest=True)
+                reftest_type = set([reference_file[0] for reference_file in self._reference_files])
+                result = TestResult(self._test_name, reftest_type=reftest_type)
                 result.type = test_expectations.SKIP
                 return result
             return self._run_reftest()
@@ -303,7 +304,8 @@
 
         assert(reference_output)
         test_result_writer.write_test_result(self._filesystem, self._port, self._test_name, test_output, reference_output, test_result.failures)
-        return TestResult(self._test_name, test_result.failures, total_test_time + test_result.test_run_time, test_result.has_stderr, is_reftest=True)
+        reftest_type = set([reference_file[0] for reference_file in self._reference_files])
+        return TestResult(self._test_name, test_result.failures, total_test_time + test_result.test_run_time, test_result.has_stderr, reftest_type=reftest_type)
 
     def _compare_output_with_reference(self, reference_driver_output, actual_driver_output, reference_filename, mismatch):
         total_test_time = reference_driver_output.test_time + actual_driver_output.test_time

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/models/test_results.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/models/test_results.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/models/test_results.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -38,12 +38,12 @@
     def loads(string):
         return cPickle.loads(string)
 
-    def __init__(self, test_name, failures=None, test_run_time=None, has_stderr=False, is_reftest=False):
+    def __init__(self, test_name, failures=None, test_run_time=None, has_stderr=False, reftest_type=[]):
         self.test_name = test_name
         self.failures = failures or []
         self.test_run_time = test_run_time or 0
         self.has_stderr = has_stderr
-        self.is_reftest = is_reftest
+        self.reftest_type = reftest_type
         # FIXME: Setting this in the constructor makes this class hard to mutate.
         self.type = test_failures.determine_result_type(failures)
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py (129458 => 129459)


--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py	2012-09-25 06:12:11 UTC (rev 129458)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py	2012-09-25 06:17:58 UTC (rev 129459)
@@ -968,7 +968,7 @@
         self.assertEqual(json["tests"]["reftests"]["foo"]["multiple-mismatch-failure.html"],
             {"expected": "PASS", "actual": "IMAGE", "is_mismatch_reftest": True})
         self.assertEqual(json["tests"]["reftests"]["foo"]["multiple-both-failure.html"],
-            {"expected": "PASS", "actual": "IMAGE", "is_mismatch_reftest": True})
+            {"expected": "PASS", "actual": "IMAGE", "is_mismatch_reftest": True, "is_reftest": True})
 
 
 class RebaselineTest(unittest.TestCase, StreamTestingMixin):
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to