Title: [222856] trunk/Tools
Revision
222856
Author
[email protected]
Date
2017-10-04 10:34:45 -0700 (Wed, 04 Oct 2017)

Log Message

webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
https://bugs.webkit.org/show_bug.cgi?id=177751
<rdar://problem/34769470>

Reviewed by Daniel Bates.

Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
result. When capturing output from the MockExecutive, the first invocation of
Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
but subsequent invocations will not.

* Scripts/webkitpy/tool/steps/steps_unittest.py:
(StepsTest):
(StepsTest.setUp): Cache the build path before running tests.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (222855 => 222856)


--- trunk/Tools/ChangeLog	2017-10-04 17:33:27 UTC (rev 222855)
+++ trunk/Tools/ChangeLog	2017-10-04 17:34:45 UTC (rev 222856)
@@ -1,3 +1,20 @@
+2017-10-04  Jonathan Bedard  <[email protected]>
+
+        webkitpy.tool.steps.steps_unittest.StepsTest.test_runtests_api is flakey
+        https://bugs.webkit.org/show_bug.cgi?id=177751
+        <rdar://problem/34769470>
+
+        Reviewed by Daniel Bates.
+
+        Port._build_path() calls Tools/Scripts/webkit-build-directory and caches this
+        result. When capturing output from the MockExecutive, the first invocation of
+        Port._build_path() will log the running of Tools/Scripts/webkit-build-directory
+        but subsequent invocations will not.
+
+        * Scripts/webkitpy/tool/steps/steps_unittest.py:
+        (StepsTest):
+        (StepsTest.setUp): Cache the build path before running tests.
+
 2017-10-04  Carlos Alberto Lopez Perez  <[email protected]>
 
         [JHBuild][GTK][WKE] Circular dependency between harfbuzz and freetype6

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/steps_unittest.py (222855 => 222856)


--- trunk/Tools/Scripts/webkitpy/tool/steps/steps_unittest.py	2017-10-04 17:33:27 UTC (rev 222855)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/steps_unittest.py	2017-10-04 17:34:45 UTC (rev 222856)
@@ -38,6 +38,14 @@
 
 
 class StepsTest(unittest.TestCase):
+
+    def setUp(self):
+        # Port._build_path() calls Tools/Scripts/webkit-build-directory and caches the result. When capturing output,
+        # this can cause the first invocation of Port._build_path() to have more output than subsequent invocations.
+        # This may cause test flakiness when test order changes. By explicitly calling Port._build_path() before running
+        # tests in this suite, we avoid such flakiness.
+        MockTool().port_factory.get(options=self._step_options())._build_path()
+
     def _step_options(self):
         options = MockOptions()
         options.group = None
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to