Title: [275307] trunk/Tools
Revision
275307
Author
aakash_j...@apple.com
Date
2021-03-31 14:48:22 -0700 (Wed, 31 Mar 2021)

Log Message

EWS should stress test newly added tests
https://bugs.webkit.org/show_bug.cgi?id=223938

Reviewed by Jonathan Bedard.

* CISupport/ews-build/config.json:
* CISupport/ews-build/factories.py:
(Factory):
(StressTestFactory):
* CISupport/ews-build/factories_unittest.py: Added unit-tests.
* CISupport/ews-build/loadConfig.py:

Modified Paths

Diff

Modified: trunk/Tools/CISupport/ews-build/config.json (275306 => 275307)


--- trunk/Tools/CISupport/ews-build/config.json	2021-03-31 21:45:33 UTC (rev 275306)
+++ trunk/Tools/CISupport/ews-build/config.json	2021-03-31 21:48:22 UTC (rev 275307)
@@ -466,7 +466,7 @@
       "platform": "mac-catalina",
       "configuration": "release",
       "architectures": ["x86_64"],
-      "triggers": ["api-tests-mac-ews", "macos-catalina-release-wk1-tests-ews", "macos-catalina-release-wk2-tests-ews"],
+      "triggers": ["api-tests-mac-ews", "macos-catalina-release-wk1-tests-ews", "macos-catalina-release-wk2-tests-ews", "macos-release-wk2-stress-tests-ews"],
       "workernames": ["ews118", "ews119", "ews120", "ews150"]
     },
     {
@@ -492,6 +492,17 @@
       "workernames": ["ews104", "ews105", "ews106", "ews107"]
     },
     {
+      "name": "macOS-Release-WK2-Stress-Tests-EWS",
+      "shortname": "mac-wk2-stress",
+      "icon": "testOnly",
+      "factory": "StressTestFactory",
+      "platform": "mac-catalina",
+      "configuration": "release",
+      "architectures": ["x86_64"],
+      "triggered_by": ["macos-catalina-release-build-ews"],
+      "workernames": ["ews151"]
+    },
+    {
       "name": "macOS-Catalina-Debug-Build-EWS",
       "shortname": "mac-debug",
       "icon": "buildOnly",
@@ -775,6 +786,13 @@
     },
     {
       "type": "Triggerable",
+      "name": "macos-release-wk2-stress-tests-ews",
+      "builderNames": [
+        "macOS-Release-WK2-Stress-Tests-EWS"
+      ]
+    },
+    {
+      "type": "Triggerable",
       "name": "macos-applesilicon-big-sur-debug-build-ews",
       "builderNames": [
         "macOS-AppleSilicon-Big-Sur-Debug-Build-EWS"

Modified: trunk/Tools/CISupport/ews-build/factories.py (275306 => 275307)


--- trunk/Tools/CISupport/ews-build/factories.py	2021-03-31 21:45:33 UTC (rev 275306)
+++ trunk/Tools/CISupport/ews-build/factories.py	2021-03-31 21:48:22 UTC (rev 275307)
@@ -26,20 +26,25 @@
 
 from steps import (ApplyPatch, ApplyWatchList, CheckOutSource, CheckOutSpecificRevision, CheckPatchRelevance,
                    CheckPatchStatusOnEWSQueues, CheckStyle, CompileJSC, CompileWebKit, ConfigureBuild, CreateLocalGITCommit,
-                   DownloadBuiltProduct, ExtractBuiltProduct, FetchBranches, FindModifiedChangeLogs, InstallGtkDependencies,
-                   InstallWpeDependencies, KillOldProcesses, PrintConfiguration, PushCommitToWebKitRepo,
+                   DownloadBuiltProduct, ExtractBuiltProduct, FetchBranches, FindModifiedChangeLogs, FindModifiedLayoutTests,
+                   InstallGtkDependencies, InstallWpeDependencies, KillOldProcesses, PrintConfiguration, PushCommitToWebKitRepo,
                    RunAPITests, RunBindingsTests, RunBuildWebKitOrgUnitTests, RunBuildbotCheckConfigForBuildWebKit, RunBuildbotCheckConfigForEWS,
                    RunEWSUnitTests, RunResultsdbpyTests, RunJavaScriptCoreTests, RunWebKit1Tests, RunWebKitPerlTests, RunWebKitPyPython2Tests,
-                   RunWebKitPyPython3Tests, RunWebKitTests, SetBuildSummary, ShowIdentifier, TriggerCrashLogSubmission, UpdateWorkingDirectory,
+                   RunWebKitPyPython3Tests, RunWebKitTests, RunWebKitTestsInStressMode, RunWebKitTestsInStressGuardmallocMode,
+                   SetBuildSummary, ShowIdentifier, TriggerCrashLogSubmission, UpdateWorkingDirectory,
                    ValidatePatch, ValidateChangeLogAndReviewer, ValidateCommiterAndReviewer, WaitForCrashCollection)
 
 
 class Factory(factory.BuildFactory):
+    findModifiedLayoutTests = False
+
     def __init__(self, platform, configuration=None, architectures=None, buildOnly=True, triggers=None, triggered_by=None, remotes=None, additionalArguments=None, checkRelevance=False, **kwargs):
         factory.BuildFactory.__init__(self)
         self.addStep(ConfigureBuild(platform=platform, configuration=configuration, architectures=architectures, buildOnly=buildOnly, triggers=triggers, triggered_by=triggered_by, remotes=remotes, additionalArguments=additionalArguments))
         if checkRelevance:
             self.addStep(CheckPatchRelevance())
+        if self.findModifiedLayoutTests:
+            self.addStep(FindModifiedLayoutTests())
         self.addStep(ValidatePatch())
         self.addStep(PrintConfiguration())
         self.addStep(CheckOutSource())
@@ -138,6 +143,20 @@
             self.addStep(SetBuildSummary())
 
 
+class StressTestFactory(TestFactory):
+    findModifiedLayoutTests = True
+
+    def __init__(self, platform, configuration=None, architectures=None, triggered_by=None, additionalArguments=None, checkRelevance=False, **kwargs):
+        Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggered_by=triggered_by, additionalArguments=additionalArguments, checkRelevance=checkRelevance)
+        self.getProduct()
+        self.addStep(WaitForCrashCollection())
+        self.addStep(KillOldProcesses())
+        self.addStep(RunWebKitTestsInStressMode())
+        self.addStep(RunWebKitTestsInStressGuardmallocMode())
+        self.addStep(TriggerCrashLogSubmission())
+        self.addStep(SetBuildSummary())
+
+
 class JSCBuildFactory(Factory):
     def __init__(self, platform, configuration='release', architectures=None, triggers=None, remotes=None, additionalArguments=None, **kwargs):
         Factory.__init__(self, platform=platform, configuration=configuration, architectures=architectures, buildOnly=False, triggers=triggers, remotes=remotes, additionalArguments=additionalArguments, checkRelevance=True)

Modified: trunk/Tools/CISupport/ews-build/factories_unittest.py (275306 => 275307)


--- trunk/Tools/CISupport/ews-build/factories_unittest.py	2021-03-31 21:45:33 UTC (rev 275306)
+++ trunk/Tools/CISupport/ews-build/factories_unittest.py	2021-03-31 21:48:22 UTC (rev 275307)
@@ -579,6 +579,31 @@
         ])
 
 
+class TestStressTestFactory(TestCase):
+    def test_stress_test_factory(self):
+        factory = factories.StressTestFactory(platform='mac-catalina', configuration='release', architectures=["x86_64"])
+        self.assertBuildSteps(factory.steps, [
+            _BuildStepFactory(steps.ConfigureBuild, platform='mac-catalina', configuration='release', architectures=["x86_64"],
+                              buildOnly=False, triggers=None, triggered_by=None, remotes=None, additionalArguments=None),
+            _BuildStepFactory(steps.FindModifiedLayoutTests),
+            _BuildStepFactory(steps.ValidatePatch),
+            _BuildStepFactory(steps.PrintConfiguration),
+            _BuildStepFactory(steps.CheckOutSource),
+            _BuildStepFactory(steps.CheckOutSpecificRevision),
+            _BuildStepFactory(steps.FetchBranches),
+            _BuildStepFactory(steps.ShowIdentifier),
+            _BuildStepFactory(steps.ApplyPatch),
+            _BuildStepFactory(steps.DownloadBuiltProduct),
+            _BuildStepFactory(steps.ExtractBuiltProduct),
+            _BuildStepFactory(steps.WaitForCrashCollection),
+            _BuildStepFactory(steps.KillOldProcesses),
+            _BuildStepFactory(steps.RunWebKitTestsInStressMode),
+            _BuildStepFactory(steps.RunWebKitTestsInStressGuardmallocMode),
+            _BuildStepFactory(steps.TriggerCrashLogSubmission),
+            _BuildStepFactory(steps.SetBuildSummary),
+        ])
+
+
 class TestJSCBuildAndTestsFactory(TestCase):
     def test_jsc_mipsel_factory(self):
         factory = factories.JSCBuildFactory(platform='jsc', configuration='release', architectures=["mipsel"])

Modified: trunk/Tools/CISupport/ews-build/loadConfig.py (275306 => 275307)


--- trunk/Tools/CISupport/ews-build/loadConfig.py	2021-03-31 21:45:33 UTC (rev 275306)
+++ trunk/Tools/CISupport/ews-build/loadConfig.py	2021-03-31 21:48:22 UTC (rev 275307)
@@ -1,4 +1,4 @@
-# Copyright (C) 2018-2019 Apple Inc. All rights reserved.
+# Copyright (C) 2018-2021 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -31,8 +31,9 @@
 from buildbot.util import identifiers as buildbot_identifiers
 
 from factories import (APITestsFactory, BindingsFactory, BuildFactory, CommitQueueFactory, Factory, GTKBuildFactory,
-                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, JSCTestsFactory, StyleFactory, TestFactory, tvOSBuildFactory,
-                       WPEFactory, WebKitPerlFactory, WebKitPyFactory, WinCairoFactory, WindowsFactory, iOSBuildFactory, iOSEmbeddedBuildFactory, iOSTestsFactory,
+                       GTKTestsFactory, JSCBuildFactory, JSCBuildAndTestsFactory, JSCTestsFactory, StressTestFactory,
+                       StyleFactory, TestFactory, tvOSBuildFactory, WPEFactory, WebKitPerlFactory, WebKitPyFactory,
+                       WinCairoFactory, WindowsFactory, iOSBuildFactory, iOSEmbeddedBuildFactory, iOSTestsFactory,
                        macOSBuildFactory, macOSBuildOnlyFactory, macOSWK1Factory, macOSWK2Factory, ServicesFactory, WatchListFactory, watchOSBuildFactory)
 
 BUILDER_NAME_LENGTH_LIMIT = 70

Modified: trunk/Tools/ChangeLog (275306 => 275307)


--- trunk/Tools/ChangeLog	2021-03-31 21:45:33 UTC (rev 275306)
+++ trunk/Tools/ChangeLog	2021-03-31 21:48:22 UTC (rev 275307)
@@ -1,3 +1,17 @@
+2021-03-31  Aakash Jain  <aakash_j...@apple.com>
+
+        EWS should stress test newly added tests
+        https://bugs.webkit.org/show_bug.cgi?id=223938
+
+        Reviewed by Jonathan Bedard.
+
+        * CISupport/ews-build/config.json:
+        * CISupport/ews-build/factories.py:
+        (Factory):
+        (StressTestFactory):
+        * CISupport/ews-build/factories_unittest.py: Added unit-tests.
+        * CISupport/ews-build/loadConfig.py:
+
 2021-03-31  David Kilzer  <ddkil...@apple.com>
 
         REGRESSION (r275150): set-webkit-configuration is too aggressive at deleting config files when switch is not set
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to