Title: [266629] trunk/Tools
Revision
266629
Author
aakash_j...@apple.com
Date
2020-09-04 12:19:44 -0700 (Fri, 04 Sep 2020)

Log Message

[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):

Modified Paths

Diff

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
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to