⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 155372 in webkit


Ignore:
Timestamp:
Sep 9, 2013, 12:35:13 PM (13 years ago)
Author:
zandobersek@gmail.com
Message:

[GTK] 32-bit builder should run the JSC tests
https://bugs.webkit.org/show_bug.cgi?id=119215

Reviewed by Philippe Normand.

Rename the TestClass member of the TestFactory and BuildAndTestFactory classes
to a more descriptive name, 'LayoutTestClass'. In these two factory classes, the layout testing-specific
steps are only added if the LayoutTestClass member was not overridden to the value of None in a
derived class.

Remove the BuildAndAPITestFactory class and replace it with the BuildAndNonLayoutTestFactory class that
is derived from the BuildAndTestFactory class and overrides the LayoutTestClass member to the value of None.
This allows for builders of the BuildAndNonLayoutTest type to run all but the layout tests. This type
is currently used by the GTK 32-bit builder - there's at the moment no interest to have the builder cover
layout testing while other types of testing are still expected to be performed.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(BuildFactory.init):
(TestFactory):
(TestFactory.init):
(BuildAndTestFactory):
(BuildAndTestFactory.init):
(BuildAndTestWebKit2Factory):
(BuildAndTestWebKit2OnlyFactory):
(BuildAndNonLayoutTestFactory):
(TestLeaksFactory):
(TestWebKit2Factory):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

    r150415 r155372  
    152152                    },
    153153                    {
    154                       "name": "GTK Linux 32-bit Release", "type": "BuildAndAPITest", "builddir": "gtk-linux-32-release",
     154                      "name": "GTK Linux 32-bit Release", "type": "BuildAndNonLayoutTest", "builddir": "gtk-linux-32-release",
    155155                      "platform": "gtk", "configuration": "release", "architectures": ["i386"],
    156156                      "slavenames": ["gtk-linux-slave-1"]
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg

    r155124 r155372  
    761761            self.addStep(trigger.Trigger(schedulerNames=triggers))
    762762
    763 class BuildAndAPITestFactory(Factory):
    764     def __init__(self, platform, configuration, architectures, triggers=None, SVNMirror=None):
    765         Factory.__init__(self, platform, configuration, architectures, True, SVNMirror)
    766         self.addStep(CompileWebKit())
    767         if triggers:
    768             self.addStep(ArchiveBuiltProduct())
    769             self.addStep(UploadBuiltProduct())
    770             self.addStep(trigger.Trigger(schedulerNames=triggers))
     763def unitTestsSupported(configuration, platform):
     764    if platform.startswith('mac') and configuration == "release":
     765        return False; # https://bugs.webkit.org/show_bug.cgi?id=82652
     766    return platform == 'win' or platform.startswith('mac')
     767
     768def pickLatestBuild(builder, requests):
     769    return max(requests, key=operator.attrgetter("submittedAt"))
     770
     771class TestFactory(Factory):
     772    LayoutTestClass = RunWebKitTests
     773    ExtractTestResultsClass = ExtractTestResults
     774    def __init__(self, platform, configuration, architectures, SVNMirror=None):
     775        Factory.__init__(self, platform, configuration, architectures, False, SVNMirror)
     776        self.addStep(DownloadBuiltProduct())
     777        self.addStep(ExtractBuiltProduct())
     778        self.addStep(RunJavaScriptCoreTests(buildJSCTool=False))
     779        if self.LayoutTestClass:
     780            self.addStep(self.LayoutTestClass(buildJSCTool=(platform != 'win')))
     781
     782        if unitTestsSupported(configuration, platform):
     783            self.addStep(RunUnitTests())
     784        self.addStep(RunPythonTests())
     785        self.addStep(RunPerlTests())
     786        self.addStep(RunBindingsTests())
     787        if self.LayoutTestClass:
     788            self.addStep(ArchiveTestResults())
     789            self.addStep(UploadTestResults())
     790            self.addStep(self.ExtractTestResultsClass())
    771791        if platform == "efl":
    772792            self.addStep(RunEflAPITests)
     
    776796            self.addStep(RunQtAPITests)
    777797
    778 def unitTestsSupported(configuration, platform):
    779     if platform.startswith('mac') and configuration == "release":
    780         return False; # https://bugs.webkit.org/show_bug.cgi?id=82652
    781     return platform == 'win' or platform.startswith('mac')
    782 
    783 def pickLatestBuild(builder, requests):
    784     return max(requests, key=operator.attrgetter("submittedAt"))
    785 
    786 class TestFactory(Factory):
    787     TestClass = RunWebKitTests
     798class BuildAndTestFactory(Factory):
     799    CompileClass = CompileWebKit
     800    LayoutTestClass = RunWebKitTests
    788801    ExtractTestResultsClass = ExtractTestResults
    789     def __init__(self, platform, configuration, architectures, SVNMirror=None):
    790         Factory.__init__(self, platform, configuration, architectures, False, SVNMirror)
    791         self.addStep(DownloadBuiltProduct())
    792         self.addStep(ExtractBuiltProduct())
    793         self.addStep(RunJavaScriptCoreTests(buildJSCTool=False))
    794         self.addStep(self.TestClass(buildJSCTool=(platform != 'win')))
    795 
     802    def __init__(self, platform, configuration, architectures, triggers=None, SVNMirror=None, **kwargs):
     803        Factory.__init__(self, platform, configuration, architectures, False, SVNMirror, **kwargs)
     804        self.addStep(self.CompileClass())
     805        self.addStep(RunJavaScriptCoreTests())
     806        if self.LayoutTestClass:
     807            self.addStep(self.LayoutTestClass())
    796808        if unitTestsSupported(configuration, platform):
    797809            self.addStep(RunUnitTests())
     
    799811        self.addStep(RunPerlTests())
    800812        self.addStep(RunBindingsTests())
    801         self.addStep(ArchiveTestResults())
    802         self.addStep(UploadTestResults())
    803         self.addStep(self.ExtractTestResultsClass())
    804         if platform == "efl":
    805             self.addStep(RunEflAPITests)
    806         if platform == "gtk":
    807             self.addStep(RunGtkAPITests())
    808         if platform.startswith("qt"):
    809             self.addStep(RunQtAPITests)
    810 
    811 class BuildAndTestFactory(Factory):
    812     CompileClass = CompileWebKit
    813     TestClass = RunWebKitTests
    814     ExtractTestResultsClass = ExtractTestResults
    815     def __init__(self, platform, configuration, architectures, triggers=None, SVNMirror=None, **kwargs):
    816         Factory.__init__(self, platform, configuration, architectures, False, SVNMirror, **kwargs)
    817         self.addStep(self.CompileClass())
    818         self.addStep(RunJavaScriptCoreTests())
    819         self.addStep(self.TestClass())
    820         if unitTestsSupported(configuration, platform):
    821             self.addStep(RunUnitTests())
    822         self.addStep(RunPythonTests())
    823         self.addStep(RunPerlTests())
    824         self.addStep(RunBindingsTests())
    825         self.addStep(ArchiveTestResults())
    826         self.addStep(UploadTestResults())
    827         self.addStep(self.ExtractTestResultsClass())
     813        if self.LayoutTestClass:
     814            self.addStep(ArchiveTestResults())
     815            self.addStep(UploadTestResults())
     816            self.addStep(self.ExtractTestResultsClass())
    828817        if platform == "efl":
    829818            self.addStep(RunEflAPITests())
     
    839828class BuildAndTestWebKit2Factory(BuildAndTestFactory):
    840829    CompileClass = CompileWebKit
    841     TestClass = RunWebKit2Tests
     830    LayoutTestClass = RunWebKit2Tests
    842831
    843832class BuildAndTestWebKit1OnlyFactory(BuildAndTestFactory):
     
    846835class BuildAndTestWebKit2OnlyFactory(BuildAndTestFactory):
    847836    CompileClass = CompileWebKit2Only
    848     TestClass = RunWebKit2Tests
     837    LayoutTestClass = RunWebKit2Tests
     838
     839class BuildAndNonLayoutTestFactory(BuildAndTestFactory):
     840    LayoutTestClass = None
    849841
    850842class TestLeaksFactory(TestFactory):
    851     TestClass = RunWebKitLeakTests
     843    LayoutTestClass = RunWebKitLeakTests
    852844    ExtractTestResultsClass = ExtractTestResultsAndLeaks
    853845
    854846
    855847class TestWebKit2Factory(TestFactory):
    856     TestClass = RunWebKit2Tests
     848    LayoutTestClass = RunWebKit2Tests
    857849
    858850class BuildAndPerfTestFactory(Factory):
  • trunk/Tools/ChangeLog

    r155371 r155372  
     12013-09-09  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        [GTK] 32-bit builder should run the JSC tests
     4        https://bugs.webkit.org/show_bug.cgi?id=119215
     5
     6        Reviewed by Philippe Normand.
     7
     8        Rename the TestClass member of the TestFactory and BuildAndTestFactory classes
     9        to a more descriptive name, 'LayoutTestClass'. In these two factory classes, the layout testing-specific
     10        steps are only added if the LayoutTestClass member was not overridden to the value of None in a
     11        derived class.
     12
     13        Remove the BuildAndAPITestFactory class and replace it with the BuildAndNonLayoutTestFactory class that
     14        is derived from the BuildAndTestFactory class and overrides the LayoutTestClass member to the value of None.
     15        This allows for builders of the BuildAndNonLayoutTest type to run all but the layout tests. This type
     16        is currently used by the GTK 32-bit builder - there's at the moment no interest to have the builder cover
     17        layout testing while other types of testing are still expected to be performed.
     18
     19        * BuildSlaveSupport/build.webkit.org-config/config.json:
     20        * BuildSlaveSupport/build.webkit.org-config/master.cfg:
     21        (BuildFactory.__init__):
     22        (TestFactory):
     23        (TestFactory.__init__):
     24        (BuildAndTestFactory):
     25        (BuildAndTestFactory.__init__):
     26        (BuildAndTestWebKit2Factory):
     27        (BuildAndTestWebKit2OnlyFactory):
     28        (BuildAndNonLayoutTestFactory):
     29        (TestLeaksFactory):
     30        (TestWebKit2Factory):
     31
    1322013-09-09  Manuel Rego Casasnovas  <rego@igalia.com>
    233
Note: See TracChangeset for help on using the changeset viewer.