Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (268525 => 268526)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-10-15 16:27:34 UTC (rev 268525)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-10-15 16:27:48 UTC (rev 268526)
@@ -1995,8 +1995,10 @@
return WARNINGS
for line in self.incorrectLayoutLines:
- if line.find('flakes') >= 0 or line.find('new passes') >= 0 or line.find('missing results') >= 0:
+ if line.find('flakes') >= 0 or line.find('new passes') >= 0:
result = WARNINGS
+ elif line.find('missing results') >= 0:
+ return FAILURE
else:
return FAILURE
Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (268525 => 268526)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-10-15 16:27:34 UTC (rev 268525)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py 2020-10-15 16:27:48 UTC (rev 268526)
@@ -1591,6 +1591,9 @@
ts","version":4,"num_passes":42158,"pixel_tests_enabled":false,"date":"11:28AM on July 16, 2019","has_pretty_patch":true,"fixable":55329,"num_flaky":5,"uses_expectations_file":true});
'''
+ self.results_with_missing_results = '''ADD_RESULTS({"tests":{"http":{"wpt":{"css":{"css-highlight-api":{"highlight-image-expected-mismatched.html":{"report":"MISSING","expected":"PASS","is_missing_text":true,"actual":"MISSING"},"highlight-image.html":{"report":"MISSING","expected":"PASS","is_missing_text":true,"actual":"MISSING"}}}}}}, "interrupted":false});
+ '''
+
return self.setUpBuildStep()
def tearDown(self):
@@ -1739,6 +1742,27 @@
self.assertEqual(self.getProperty(self.property_failures), ['fast/scrolling/ios/reconcile-layer-position-recursive.html'])
return rc
+ def test_parse_results_json_with_missing_results(self):
+ self.configureStep()
+ self.setProperty('fullPlatform', 'ios-simulator')
+ self.setProperty('configuration', 'release')
+ self.expectRemoteCommands(
+ ExpectShell(workdir='wkdir',
+ logfiles={'json': self.jsonFileName},
+ logEnviron=False,
+ command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-show-results', '--no-new-test-results', '--clobber-old-results', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging', '--exit-after-n-failures', '30', '--skip-failing-tests'],
+ )
+ + 2
+ + ExpectShell.log('json', stdout=self.results_with_missing_results),
+ )
+ self.expectOutcome(result=FAILURE, state_string='layout-tests (failure)')
+ rc = self.runStep()
+ self.assertEqual(self.getProperty(self.property_exceed_failure_limit), False)
+ self.assertEqual(self.getProperty(self.property_failures),
+ ['http/wpt/css/css-highlight-api/highlight-image-expected-mismatched.html',
+ 'http/wpt/css/css-highlight-api/highlight-image.html'])
+ return rc
+
def test_unexpected_error(self):
self.configureStep()
self.setProperty('fullPlatform', 'mac-highsierra')