[EFL] The WebKit2 bots are building and executing WebKit1 tests
authorthiago.santos@intel.com <thiago.santos@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2012 18:39:39 +0000 (18:39 +0000)
committerthiago.santos@intel.com <thiago.santos@intel.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 13 Dec 2012 18:39:39 +0000 (18:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=104690

Reviewed by Csaba Osztrogon√°c.

Pass --no-webkit1 option to the EFL WK2 bots when building. This
will disable WK1 API and thus, the WK1 API tests.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CompileWebKit2Only):
(BuildAndTestFactory):
(BuildAndTestFactory.__init__):
(BuildAndTestWebKit2OnlyFactory):
Now bots using BuildAndTestWebKit2OnlyFactory (for instance only EFL) will
get --no-webkit1 as a parameter on the build-webkit script.
* Scripts/build-webkit:
Added support for -no-webkit1 for the Qt and EFL port.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@137612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/BuildSlaveSupport/build.webkit.org-config/config.json
Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg
Tools/ChangeLog
Tools/Scripts/build-webkit

index fa1f109..6606f1f 100644 (file)
                       "slavenames": ["efl-linux-slave-1"]
                     },
                     {
-                      "name": "EFL Linux 64-bit Release WK2", "type": "BuildAndTestWebKit2", "builddir": "efl-linux-64-release-wk2",
+                      "name": "EFL Linux 64-bit Release WK2", "type": "BuildAndTestWebKit2Only", "builddir": "efl-linux-64-release-wk2",
                       "platform": "efl", "configuration": "release", "architectures": ["x86_64"],
                       "slavenames": ["efl-linux-slave-2"]
                     },
                     {
-                      "name": "EFL Linux 64-bit Debug WK2", "type": "BuildAndTestWebKit2", "builddir": "efl-linux-64-debug-wk2",
+                      "name": "EFL Linux 64-bit Debug WK2", "type": "BuildAndTestWebKit2Only", "builddir": "efl-linux-64-debug-wk2",
                       "platform": "efl", "configuration": "debug", "architectures": ["x86_64"],
                       "slavenames": ["efl-linux-slave-4"]
                     },
index 24a3bcf..0b92021 100644 (file)
@@ -207,6 +207,10 @@ class CompileWebKit(shell.Compile):
         return shell.Compile.start(self)
 
 
+class CompileWebKit2Only(CompileWebKit):
+    command = ["perl", "./Tools/Scripts/build-webkit", "--no-webkit1", WithProperties("--%(configuration)s")]
+
+
 class ArchiveBuiltProduct(shell.ShellCommand):
     command = ["python", "./Tools/BuildSlaveSupport/built-product-archive",
                WithProperties("--platform=%(fullPlatform)s"), WithProperties("--%(configuration)s"), "archive"]
@@ -787,13 +791,14 @@ class TestFactory(Factory):
             self.addStep(RunQtAPITests)
 
 class BuildAndTestFactory(Factory):
+    CompileClass = CompileWebKit
     TestClass = RunWebKitTests
     ExtractTestResultsClass = ExtractTestResults
     def __init__(self, platform, configuration, architectures, triggers=None, SVNMirror=None, **kwargs):
         Factory.__init__(self, platform, configuration, architectures, False, SVNMirror, **kwargs)
         if platform.startswith("chromium"):
             self.addStep(CleanupChromiumCrashLogs)
-        self.addStep(CompileWebKit())
+        self.addStep(self.CompileClass())
         if not platform.startswith("chromium"):
             self.addStep(RunJavaScriptCoreTests())
         if platform.startswith("chromium"):
@@ -821,7 +826,8 @@ class BuildAndTestFactory(Factory):
             self.addStep(UploadBuiltProduct())
             self.addStep(trigger.Trigger(schedulerNames=triggers))
 
-class BuildAndTestWebKit2Factory(BuildAndTestFactory):
+class BuildAndTestWebKit2OnlyFactory(BuildAndTestFactory):
+    CompileClass = CompileWebKit2Only
     TestClass = RunWebKit2Tests
 
 class BuildAndTestLeaksFactory(BuildAndTestFactory):
index c06c440..f99e57e 100644 (file)
@@ -1,3 +1,24 @@
+2012-12-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
+
+        [EFL] The WebKit2 bots are building and executing WebKit1 tests
+        https://bugs.webkit.org/show_bug.cgi?id=104690
+
+        Reviewed by Csaba Osztrogon√°c.
+
+        Pass --no-webkit1 option to the EFL WK2 bots when building. This
+        will disable WK1 API and thus, the WK1 API tests.
+
+        * BuildSlaveSupport/build.webkit.org-config/config.json:
+        * BuildSlaveSupport/build.webkit.org-config/master.cfg:
+        (CompileWebKit2Only):
+        (BuildAndTestFactory):
+        (BuildAndTestFactory.__init__):
+        (BuildAndTestWebKit2OnlyFactory):
+        Now bots using BuildAndTestWebKit2OnlyFactory (for instance only EFL) will
+        get --no-webkit1 as a parameter on the build-webkit script.
+        * Scripts/build-webkit:
+        Added support for -no-webkit1 for the Qt and EFL port.
+
 2012-12-13  Eric Seidel  <eric@webkit.org>
 
         build-webkit --chromium-android forces Make even when update-webkit used --ninja
index 2a9e47d..de91a9f 100755 (executable)
@@ -59,6 +59,7 @@ my $prefixPath;
 my $makeArgs = "";
 my $cmakeArgs = "";
 my $onlyWebKitProject = 0;
+my $noWebKit1 = 0;
 my $noWebKit2 = 0;
 my $coverageSupport = 0;
 my $startTime = time();
@@ -133,6 +134,7 @@ Usage: $programName [options] [options to pass to build system]
   --minimal                         No optional features, unless explicitly enabled
 
   --only-webkit                     Build only the WebKit project
+  --no-webkit1                      Omit WebKit1 code from the build (Qt/EFL only)
   --no-webkit2                      Omit WebKit2 code from the build
 
 EOF
@@ -148,6 +150,7 @@ my %options = (
     'cmakeargs=s' => \$cmakeArgs,
     'minimal' => \$minimal,
     'only-webkit' => \$onlyWebKitProject,
+    'no-webkit1' => \$noWebKit1,
     'no-webkit2' => \$noWebKit2,
     'coverage' => \$coverageSupport,
 );
@@ -245,6 +248,7 @@ if (isAppleMacWebKit()) {
     push @options, "--install-headers=" . $installHeaders if defined($installHeaders);
     push @options, "--install-libs=" . $installLibs if defined($installLibs);
     push @options, "--makeargs=" . $makeArgs if $makeArgs;
+    push @options, "WEBKIT_CONFIG-=build_webkit1" if $noWebKit1;
     push @options, "WEBKIT_CONFIG-=build_webkit2" if $noWebKit2;
 
     if (checkForArgumentAndRemoveFromARGV("-2")) {
@@ -310,6 +314,7 @@ if (isChromium()) {
 if (isEfl()) {
     # By default we build using all of the available CPUs.
     $makeArgs .= ($makeArgs ? " " : "") . "-j" . numberOfCPUs() if $makeArgs !~ /-j\s*\d+/;
+    $cmakeArgs = "-DENABLE_WEBKIT=OFF "  . $cmakeArgs if $noWebKit1;
     $cmakeArgs = "-DENABLE_WEBKIT2=OFF " . $cmakeArgs if $noWebKit2;
 
     # We remove CMakeCache to avoid the bots to reuse cached flags when