[ews] Services EWS should also run build.webkit.org unit tests
https://bugs.webkit.org/show_bug.cgi?id=202864
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(ServicesFactory.__init__): Added new RunBuildWebKitUnitTests step.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Added paths for build.webkit.org code.
(RunBuildWebKitUnitTests): Build step to run build.webkit.org unit tests.
(RunBuildWebKitUnitTests.__init__): Set workdir, timeout and logEnviron.
(RunBuildWebKitUnitTests.getResultSummary): Customize Buildbot messages for this build step.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/BuildSlaveSupport/ews-build/factories.py b/Tools/BuildSlaveSupport/ews-build/factories.py
index 1aa7bff..a16d2f0 100644
--- a/Tools/BuildSlaveSupport/ews-build/factories.py
+++ b/Tools/BuildSlaveSupport/ews-build/factories.py
@@ -27,7 +27,7 @@
from steps import (ApplyPatch, ApplyWatchList, CheckOutSource, CheckOutSpecificRevision, CheckPatchRelevance,
CheckStyle, CompileJSC, CompileWebKit, ConfigureBuild,
DownloadBuiltProduct, ExtractBuiltProduct, InstallGtkDependencies, InstallWpeDependencies, KillOldProcesses,
- PrintConfiguration, RunAPITests, RunBindingsTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests,
+ PrintConfiguration, RunAPITests, RunBindingsTests, RunBuildWebKitOrgUnitTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests,
RunJavaScriptCoreTests, RunWebKit1Tests, RunWebKitPerlTests,
RunWebKitPyTests, RunWebKitTests, UpdateWorkingDirectory, ValidatePatch)
@@ -183,3 +183,4 @@
Factory.__init__(self, platform, configuration, architectures, False, additionalArguments, checkRelevance=True)
self.addStep(RunEWSUnitTests())
self.addStep(RunEWSBuildbotCheckConfig())
+ self.addStep(RunBuildWebKitOrgUnitTests())
diff --git a/Tools/BuildSlaveSupport/ews-build/steps.py b/Tools/BuildSlaveSupport/ews-build/steps.py
index 9c7fbb2..948a714 100644
--- a/Tools/BuildSlaveSupport/ews-build/steps.py
+++ b/Tools/BuildSlaveSupport/ews-build/steps.py
@@ -225,7 +225,9 @@
]
services_paths = [
+ 'Tools/BuildSlaveSupport/build.webkit.org-config',
'Tools/BuildSlaveSupport/ews-build',
+ 'Tools/BuildSlaveSupport/Shared',
]
jsc_paths = [
@@ -602,6 +604,20 @@
super(RunWebKitPerlTests, self).__init__(timeout=2 * 60, logEnviron=False, **kwargs)
+class RunBuildWebKitOrgUnitTests(shell.ShellCommand):
+ name = 'build-webkit-org-unit-tests'
+ description = ['build-webkit-unit-tests running']
+ command = ['python', 'steps_unittest.py']
+
+ def __init__(self, **kwargs):
+ shell.ShellCommand.__init__(self, workdir='build/Tools/BuildSlaveSupport/build.webkit.org-config', timeout=2 * 60, logEnviron=False, **kwargs)
+
+ def getResultSummary(self):
+ if self.results == SUCCESS:
+ return {u'step': u'Passed build.webkit.org unit tests'}
+ return {u'step': u'Failed build.webkit.org unit tests'}
+
+
class RunEWSUnitTests(shell.ShellCommand):
name = 'ews-unit-tests'
description = ['ews-unit-tests running']
diff --git a/Tools/BuildSlaveSupport/ews-build/steps_unittest.py b/Tools/BuildSlaveSupport/ews-build/steps_unittest.py
index e2391b3..5b13641 100644
--- a/Tools/BuildSlaveSupport/ews-build/steps_unittest.py
+++ b/Tools/BuildSlaveSupport/ews-build/steps_unittest.py
@@ -39,7 +39,7 @@
CompileJSC, CompileJSCToT, CompileWebKit, CompileWebKitToT, ConfigureBuild,
DownloadBuiltProduct, ExtractBuiltProduct, ExtractTestResults, InstallGtkDependencies, InstallWpeDependencies, KillOldProcesses,
PrintConfiguration, ReRunAPITests, ReRunJavaScriptCoreTests, ReRunWebKitTests, RunAPITests, RunAPITestsWithoutPatch,
- RunBindingsTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests, RunJavaScriptCoreTests, RunJavaScriptCoreTestsToT, RunWebKit1Tests,
+ RunBindingsTests, RunBuildWebKitOrgUnitTests, RunEWSBuildbotCheckConfig, RunEWSUnitTests, RunJavaScriptCoreTests, RunJavaScriptCoreTestsToT, RunWebKit1Tests,
RunWebKitPerlTests, RunWebKitPyTests, RunWebKitTests, TestWithFailureCount, Trigger, TransferToS3, UnApplyPatchIfRequired,
UpdateWorkingDirectory, UploadBuiltProduct, UploadTestResults, ValidatePatch)
@@ -523,6 +523,42 @@
return self.runStep()
+class TestRunBuildWebKitOrgUnitTests(BuildStepMixinAdditions, unittest.TestCase):
+ def setUp(self):
+ self.longMessage = True
+ return self.setUpBuildStep()
+
+ def tearDown(self):
+ return self.tearDownBuildStep()
+
+ def test_success(self):
+ self.setupStep(RunBuildWebKitOrgUnitTests())
+ self.expectRemoteCommands(
+ ExpectShell(workdir='build/Tools/BuildSlaveSupport/build.webkit.org-config',
+ timeout=120,
+ logEnviron=False,
+ command=['python', 'steps_unittest.py'],
+ )
+ + 0,
+ )
+ self.expectOutcome(result=SUCCESS, state_string='Passed build.webkit.org unit tests')
+ return self.runStep()
+
+ def test_failure(self):
+ self.setupStep(RunBuildWebKitOrgUnitTests())
+ self.expectRemoteCommands(
+ ExpectShell(workdir='build/Tools/BuildSlaveSupport/build.webkit.org-config',
+ timeout=120,
+ logEnviron=False,
+ command=['python', 'steps_unittest.py'],
+ )
+ + ExpectShell.log('stdio', stdout='Unhandled Error. Traceback (most recent call last): Keys in cmd missing from expectation: [logfiles.json]')
+ + 2,
+ )
+ self.expectOutcome(result=FAILURE, state_string='Failed build.webkit.org unit tests')
+ return self.runStep()
+
+
class TestKillOldProcesses(BuildStepMixinAdditions, unittest.TestCase):
def setUp(self):
self.longMessage = True
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index 3f042b1..db98ad2 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,19 @@
+2019-10-11 Aakash Jain <aakash_jain@apple.com>
+
+ [ews] Services EWS should also run build.webkit.org unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=202864
+
+ Reviewed by Jonathan Bedard.
+
+ * BuildSlaveSupport/ews-build/factories.py:
+ (ServicesFactory.__init__): Added new RunBuildWebKitUnitTests step.
+ * BuildSlaveSupport/ews-build/steps.py:
+ (CheckPatchRelevance): Added paths for build.webkit.org code.
+ (RunBuildWebKitUnitTests): Build step to run build.webkit.org unit tests.
+ (RunBuildWebKitUnitTests.__init__): Set workdir, timeout and logEnviron.
+ (RunBuildWebKitUnitTests.getResultSummary): Customize Buildbot messages for this build step.
+ * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
+
2019-10-11 Chris Dumez <cdumez@apple.com>
Move SuspendedPage logic from WebProcessPool to new WebBackForwardCache class