Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (266628 => 266629)
--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-09-04 19:12:16 UTC (rev 266628)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py 2020-09-04 19:19:44 UTC (rev 266629)
@@ -1759,10 +1759,14 @@
message = ''
if clean_tree_failures:
message = 'Found {} pre-existing JSC test failure{}: {}'.format(len(clean_tree_failures), pluralSuffix, clean_tree_failures_string)
+ for clean_tree_failure in clean_tree_failures:
+ self.send_email_for_pre_existing_failure(clean_tree_failure)
if len(clean_tree_failures) > self.NUM_FAILURES_TO_DISPLAY:
message += ' ...'
if flaky_failures:
message += ' Found flaky tests: {}'.format(flaky_failures_string)
+ for flaky_failure in flaky_failures:
+ self.send_email_for_flaky_failure(flaky_failure)
self.build.buildFinished([message], SUCCESS)
return defer.succeed(None)
@@ -1774,7 +1778,34 @@
log = yield self.addLog(logName)
log.addStdout(message)
+ def send_email_for_flaky_failure(self, test_name):
+ try:
+ builder_name = self.getProperty('buildername', '')
+ worker_name = self.getProperty('workername', '')
+ build_url = '{}#/builders/{}/builds/{}'.format(self.master.config.buildbotURL, self.build._builderid, self.build.number)
+ history_url = '{}?suite=_javascript_core-tests&test={}'.format(RESULTS_DB_URL, test_name)
+ email_subject = u'Flaky test: {}'.format(test_name)
+ email_text = 'Flaky test: {}\n\nBuild: {}\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
+ send_email_to_bot_watchers(email_subject, email_text, 'flaky-{}'.format(test_name))
+ except Exception as e:
+ print('Error in sending email for flaky failure: {}'.format(e))
+
+ def send_email_for_pre_existing_failure(self, test_name):
+ try:
+ builder_name = self.getProperty('buildername', '')
+ worker_name = self.getProperty('workername', '')
+ build_url = '{}#/builders/{}/builds/{}'.format(self.master.config.buildbotURL, self.build._builderid, self.build.number)
+ history_url = '{}?suite=_javascript_core-tests&test={}'.format(RESULTS_DB_URL, test_name)
+
+ email_subject = u'Pre-existing test failure: {}'.format(test_name)
+ email_text = 'Test {} failed on clean tree run in {}.\n\nBuilder: {}\n\nWorker: {}\n\nHistory: {}'.format(test_name, build_url, builder_name, worker_name, history_url)
+ send_email_to_bot_watchers(email_subject, email_text, 'preexisting-{}'.format(test_name))
+ except Exception as e:
+ print('Error in sending email for pre-existing failure: {}'.format(e))
+
+
+
class CleanBuild(shell.Compile):
name = 'delete-WebKitBuild-directory'
description = ['deleting WebKitBuild directory']
Modified: trunk/Tools/ChangeLog (266628 => 266629)
--- trunk/Tools/ChangeLog 2020-09-04 19:12:16 UTC (rev 266628)
+++ trunk/Tools/ChangeLog 2020-09-04 19:19:44 UTC (rev 266629)
@@ -1,3 +1,16 @@
+2020-09-04 Aakash Jain <aakash_j...@apple.com>
+
+ [ews] Notify bot watchers about pre-existing and flaky test failures for JSC tests
+ https://bugs.webkit.org/show_bug.cgi?id=215948
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/ews-build/steps.py:
+ (AnalyzeJSCTestsResults.start):
+ (AnalyzeJSCTestsResults.send_email_for_flaky_failure):
+ (AnalyzeJSCTestsResults):
+ (AnalyzeJSCTestsResults.send_email_for_pre_existing_failure):
+
2020-09-04 Jonathan Bedard <jbed...@apple.com>
[webkitscmpy] Add root, branch and remote for local SCM repositories