Title: [293174] trunk/Tools
Revision
293174
Author
jbed...@apple.com
Date
2022-04-21 10:10:24 -0700 (Thu, 21 Apr 2022)

Log Message

[Merge-Queue] Don't close bugs associated with test gardening
https://bugs.webkit.org/show_bug.cgi?id=239604
<rdar://problem/92093456>

Reviewed by Ryan Haddad.

* Tools/CISupport/ews-build/steps.py:
(CloseBug.doStepIf): Skip step if we're a test gardening change.
(UpdatePullRequest):
(UpdatePullRequest.is_test_gardening): Check for "Unreviewed test gardening" in the commit message.
(UpdatePullRequest.evaluateCommand):
* Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/249856@main

Modified Paths

Diff

Modified: trunk/Tools/CISupport/ews-build/steps.py (293173 => 293174)


--- trunk/Tools/CISupport/ews-build/steps.py	2022-04-21 16:55:46 UTC (rev 293173)
+++ trunk/Tools/CISupport/ews-build/steps.py	2022-04-21 17:10:24 UTC (rev 293174)
@@ -1779,7 +1779,7 @@
         return {'step': 'Failed to close bug {}'.format(self.bug_id)}
 
     def doStepIf(self, step):
-        return self.getProperty('bug_id')
+        return self.getProperty('bug_id') and not self.getProperty('is_test_gardening')
 
     def hideStepIf(self, results, step):
         return not self.doStepIf(step)
@@ -5125,6 +5125,13 @@
                         return match.group('id')
         return None
 
+    @classmethod
+    def is_test_gardening(cls, lines):
+        for line in lines:
+            if line.lstrip().startswith('Unreviewed test gardening'):
+                return True
+        return False
+
     def evaluateCommand(self, cmd):
         rc = super(UpdatePullRequest, self).evaluateCommand(cmd)
 
@@ -5139,6 +5146,7 @@
         bug_id = self.bug_id_from_log(loglines)
         if bug_id:
             self.setProperty('bug_id', bug_id)
+        self.setProperty('is_test_gardening', self.is_test_gardening(loglines))
 
         user = self.getProperty('github.head.user.login', '')
         head = self.getProperty('github.head.ref', '')

Modified: trunk/Tools/CISupport/ews-build/steps_unittest.py (293173 => 293174)


--- trunk/Tools/CISupport/ews-build/steps_unittest.py	2022-04-21 16:55:46 UTC (rev 293173)
+++ trunk/Tools/CISupport/ews-build/steps_unittest.py	2022-04-21 17:10:24 UTC (rev 293174)
@@ -6420,7 +6420,7 @@
             self.assertEqual(pr_number, '1234')
             self.assertEqual(title, '[Merge-Queue] Add http credential helper')
             self.assertEqual(base, 'main')
-            self.assertEqual(head, 'HEAD:eng/pull-request-branch')
+            self.assertEqual(head, 'JonWBedard:eng/pull-request-branch')
 
             self.assertEqual(
                 description,
@@ -6476,10 +6476,71 @@
         )
         self.expectOutcome(result=SUCCESS, state_string='Updated pull request')
         with current_hostname(EWS_BUILD_HOSTNAME):
-            return self.runStep()
+            rc = self.runStep()
+            self.assertEqual(self.getProperty('bug_id'), '238553')
+            self.assertEqual(self.getProperty('is_test_gardening'), False)
+            return rc
 
-    def test_success(self):
+    def test_success_gardening(self):
         def update_pr(x, pr_number, title, description, base=None, head=None, repository_url=None):
+            self.assertEqual(pr_number, '1234')
+            self.assertEqual(title, '[ macOS wk2 ] some/test/path.html a flaky failure')
+            self.assertEqual(base, 'main')
+            self.assertEqual(head, 'karlrackler:eng/pull-request-branch')
+
+            self.assertEqual(
+                description,
+                '''#### 6a50b47fd71d922f753c06f46917086c839520b
+<pre>
+[ macOS wk2 ] some/test/path.html a flaky failure
+<a href=""
+
+Unreviewed test gardening.
+
+* LayoutTests/platform/mac-wk2/TestExpectations:
+
+Canonical link: <a href=""
+</pre>
+''',
+            )
+
+            return True
+
+        UpdatePullRequest.update_pr = update_pr
+        self.setupStep(UpdatePullRequest())
+        self.setProperty('github.number', '1234')
+        self.setProperty('github.head.user.login', 'karlrackler')
+        self.setProperty('github.head.ref', 'eng/pull-request-branch')
+        self.setProperty('github.base.ref', 'main')
+        self.expectRemoteCommands(
+            ExpectShell(workdir='wkdir',
+                        logEnviron=False,
+                        timeout=300,
+                        command=['git', 'log', '-1', '--no-decorate'])
+            + 0
+            + ExpectShell.log('stdio', stdout='''commit 6a50b47fd71d922f753c06f46917086c839520b
+Author: Karl Rackler <rack...@apple.com>
+Date:   Thu Apr 21 00:25:03 2022 +0000
+
+    [ macOS wk2 ] some/test/path.html a flaky failure
+    https://bugs.webkit.org/show_bug.cgi?id=239577
+
+    Unreviewed test gardening.
+
+    * LayoutTests/platform/mac-wk2/TestExpectations:
+
+    Canonical link: https://commits.webkit.org/249833@main
+'''),
+        )
+        self.expectOutcome(result=SUCCESS, state_string='Updated pull request')
+        with current_hostname(EWS_BUILD_HOSTNAME):
+            rc = self.runStep()
+            self.assertEqual(self.getProperty('bug_id'), '239577')
+            self.assertEqual(self.getProperty('is_test_gardening'), True)
+            return rc
+
+    def test_failure(self):
+        def update_pr(x, pr_number, title, description, base=None, head=None, repository_url=None):
             return False
 
         UpdatePullRequest.update_pr = update_pr
@@ -6516,6 +6577,7 @@
         with current_hostname(EWS_BUILD_HOSTNAME):
             rc = self.runStep()
             self.assertEqual(self.getProperty('bug_id'), '238553')
+            self.assertEqual(self.getProperty('is_test_gardening'), False)
             return rc
 
 

Modified: trunk/Tools/ChangeLog (293173 => 293174)


--- trunk/Tools/ChangeLog	2022-04-21 16:55:46 UTC (rev 293173)
+++ trunk/Tools/ChangeLog	2022-04-21 17:10:24 UTC (rev 293174)
@@ -1,5 +1,20 @@
 2022-04-21  Jonathan Bedard  <jbed...@apple.com>
 
+        [Merge-Queue] Don't close bugs associated with test gardening
+        https://bugs.webkit.org/show_bug.cgi?id=239604
+        <rdar://problem/92093456>
+
+        Reviewed by Ryan Haddad.
+
+        * CISupport/ews-build/steps.py:
+        (CloseBug.doStepIf): Skip step if we're a test gardening change.
+        (UpdatePullRequest):
+        (UpdatePullRequest.is_test_gardening): Check for "Unreviewed test gardening" in the commit message.
+        (UpdatePullRequest.evaluateCommand):
+        * CISupport/ews-build/steps_unittest.py:
+
+2022-04-21  Jonathan Bedard  <jbed...@apple.com>
+
         [commits.webkit.org] Disable CORS
         https://bugs.webkit.org/show_bug.cgi?id=239607
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to