Title: [233921] trunk/Tools
Revision
233921
Author
aakash_j...@apple.com
Date
2018-07-18 11:40:20 -0700 (Wed, 18 Jul 2018)

Log Message

[ews-build] Add build step to run layout-test
https://bugs.webkit.org/show_bug.cgi?id=187674

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests): Added build step to run layout-tests. This is similar to current EWS.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
* BuildSlaveSupport/ews-build/factories.py: Added build-step to run layout-test in iOSSimulatorFactory.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-build/factories.py (233920 => 233921)


--- trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2018-07-18 18:40:14 UTC (rev 233920)
+++ trunk/Tools/BuildSlaveSupport/ews-build/factories.py	2018-07-18 18:40:20 UTC (rev 233921)
@@ -88,7 +88,9 @@
 
 
 class iOSSimulatorFactory(BuildFactory):
-    pass
+    def __init__(self, platform, configuration=None, architectures=None, additionalArguments=None, **kwargs):
+        BuildFactory.__init__(self, platform, configuration, architectures, additionalArguments)
+        self.addStep(RunWebKitTests())
 
 
 class MacWK1Factory(BuildFactory):

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (233920 => 233921)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2018-07-18 18:40:14 UTC (rev 233920)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2018-07-18 18:40:20 UTC (rev 233921)
@@ -258,3 +258,29 @@
 
     def __init__(self, **kwargs):
         super(KillOldProcesses, self).__init__(timeout=60, **kwargs)
+
+
+class RunWebKitTests(shell.Test):
+    name = 'layout-tests'
+    description = ['layout-tests running']
+    descriptionDone = ['layout-tests']
+    resultDirectory = 'layout-test-results'
+    command = ['python', 'Tools/Scripts/run-webkit-tests',
+               '--no-build',
+               '--no-new-test-results',
+               '--no-show-results',
+               '--exit-after-n-failures', '30',
+               '--skip-failing-tests',
+               WithProperties('--%(configuration)s')]
+
+    def start(self):
+        platform = self.getProperty('platform')
+        appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform'))
+        additionalArguments = self.getProperty('additionalArguments')
+
+        self.setCommand(self.command + ['--results-directory', self.resultDirectory])
+        self.setCommand(self.command + ['--debug-rwt-logging'])
+
+        if additionalArguments:
+            self.setCommand(self.command + additionalArguments)
+        return shell.Test.start(self)

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py (233920 => 233921)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py	2018-07-18 18:40:14 UTC (rev 233920)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps_unittest.py	2018-07-18 18:40:20 UTC (rev 233921)
@@ -709,5 +709,41 @@
         return self.runStep()
 
 
+class TestRunWebKitTests(BuildStepMixinAdditions, unittest.TestCase):
+    def setUp(self):
+        self.longMessage = True
+        return self.setUpBuildStep()
+
+    def tearDown(self):
+        return self.tearDownBuildStep()
+
+    def test_success(self):
+        self.setupStep(RunWebKitTests())
+        self.setProperty('fullPlatform', 'ios-simulator')
+        self.setProperty('configuration', 'release')
+        self.expectRemoteCommands(
+            ExpectShell(workdir='wkdir',
+                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-new-test-results', '--no-show-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
+                        )
+            + 0,
+        )
+        self.expectOutcome(result=SUCCESS, state_string='layout-tests')
+        return self.runStep()
+
+    def test_failure(self):
+        self.setupStep(RunWebKitTests())
+        self.setProperty('fullPlatform', 'ios-simulator')
+        self.setProperty('configuration', 'release')
+        self.expectRemoteCommands(
+            ExpectShell(workdir='wkdir',
+                        command=['python', 'Tools/Scripts/run-webkit-tests', '--no-build', '--no-new-test-results', '--no-show-results', '--exit-after-n-failures', '30', '--skip-failing-tests', '--release', '--results-directory', 'layout-test-results', '--debug-rwt-logging'],
+                        )
+            + ExpectShell.log('stdio', stdout='9 failures found.')
+            + 2,
+        )
+        self.expectOutcome(result=FAILURE, state_string='layout-tests (failure)')
+        return self.runStep()
+
+
 if __name__ == '__main__':
     unittest.main()

Modified: trunk/Tools/ChangeLog (233920 => 233921)


--- trunk/Tools/ChangeLog	2018-07-18 18:40:14 UTC (rev 233920)
+++ trunk/Tools/ChangeLog	2018-07-18 18:40:20 UTC (rev 233921)
@@ -1,3 +1,15 @@
+2018-07-18  Aakash Jain  <aakash_j...@apple.com>
+
+        [ews-build] Add build step to run layout-test
+        https://bugs.webkit.org/show_bug.cgi?id=187674
+
+        Reviewed by Lucas Forschler.
+
+        * BuildSlaveSupport/ews-build/steps.py:
+        (RunWebKitTests): Added build step to run layout-tests. This is similar to current EWS.
+        * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
+        * BuildSlaveSupport/ews-build/factories.py: Added build-step to run layout-test in iOSSimulatorFactory.
+
 2018-07-18  Wenson Hsieh  <wenson_hs...@apple.com>
 
         Add SPI to defer running async script until after document load
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to