[JSCOnly] Add a MIPS32el JSCOnly EWS
authorclopez@igalia.com <clopez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jun 2018 11:40:17 +0000 (11:40 +0000)
committerclopez@igalia.com <clopez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jun 2018 11:40:17 +0000 (11:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=186523

Reviewed by Michael Catanzaro.

Add a new jsc-mips-ews queue that will execute build-jsc for the jsc-only (Linux) port.
The worker(s) on this queue should be pre-configured to cross-build JSC for MIPS32el.

* QueueStatusServer/config/queues.py:
* QueueStatusServer/model/queues.py:
(Queue.display_name):
* Scripts/webkitpy/common/config/ews.json:
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.port):
(WpePort.run_webkit_tests_command):
(JscOnlyPort):
(JscOnlyPort.build_jsc_command):
* Scripts/webkitpy/common/config/ports_unittest.py:
(DeprecatedPortTest.test_wincairo_port):
(DeprecatedPortTest):
(DeprecatedPortTest.test_jsconly_port):
* Scripts/webkitpy/port/factory.py:
(PortFactory):
* Scripts/webkitpy/port/jsc_only.py: Added. Add a basic port definition. Required by the EWS tooling.
(JscOnlyPort):
(JscOnlyPort.__init__):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):

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

Tools/ChangeLog
Tools/QueueStatusServer/config/queues.py
Tools/QueueStatusServer/model/queues.py
Tools/Scripts/webkitpy/common/config/ews.json
Tools/Scripts/webkitpy/common/config/ports.py
Tools/Scripts/webkitpy/common/config/ports_unittest.py
Tools/Scripts/webkitpy/port/factory.py
Tools/Scripts/webkitpy/port/jsc_only.py [new file with mode: 0644]
Tools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py

index fcbeb49..fcb676b 100644 (file)
@@ -1,3 +1,34 @@
+2018-06-11  Carlos Alberto Lopez Perez  <clopez@igalia.com>
+
+        [JSCOnly] Add a MIPS32el JSCOnly EWS
+        https://bugs.webkit.org/show_bug.cgi?id=186523
+
+        Reviewed by Michael Catanzaro.
+
+        Add a new jsc-mips-ews queue that will execute build-jsc for the jsc-only (Linux) port.
+        The worker(s) on this queue should be pre-configured to cross-build JSC for MIPS32el.
+
+        * QueueStatusServer/config/queues.py:
+        * QueueStatusServer/model/queues.py:
+        (Queue.display_name):
+        * Scripts/webkitpy/common/config/ews.json:
+        * Scripts/webkitpy/common/config/ports.py:
+        (DeprecatedPort.port):
+        (WpePort.run_webkit_tests_command):
+        (JscOnlyPort):
+        (JscOnlyPort.build_jsc_command):
+        * Scripts/webkitpy/common/config/ports_unittest.py:
+        (DeprecatedPortTest.test_wincairo_port):
+        (DeprecatedPortTest):
+        (DeprecatedPortTest.test_jsconly_port):
+        * Scripts/webkitpy/port/factory.py:
+        (PortFactory):
+        * Scripts/webkitpy/port/jsc_only.py: Added. Add a basic port definition. Required by the EWS tooling.
+        (JscOnlyPort):
+        (JscOnlyPort.__init__):
+        * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+        (test_ews_name):
+
 2018-06-12  Zan Dobersek  <zdobersek@igalia.com>
 
         Add run-web-platform-tests script
index 34f3d97..e49287a 100644 (file)
@@ -38,6 +38,7 @@ all_queue_names = [
     "ios-sim-ews",
     "bindings-ews",
     "jsc-ews",
+    "jsc-mips-ews",
     "mac-ews",
     "mac-wk2-ews",
     "mac-debug-ews",
index 028c447..d4db07f 100644 (file)
@@ -78,6 +78,7 @@ class Queue(object):
         display_name = display_name.replace("Wk2", "WK2")
         display_name = display_name.replace("Ews", "EWS")
         display_name = display_name.replace("Ios", "iOS")
+        display_name = display_name.replace("JscOnly", "JSCOnly")
         display_name = display_name.replace("Jsc", "JSC")
         display_name = display_name.replace("Wpe", "WPE")
         display_name = display_name.replace("Gtk", "GTK")
index 4fbc9db..371b1a4 100644 (file)
         "group": "jsc",
         "runTests": true
     },
+    "JSC MIPS32el EWS": {
+        "port": "jsc-only",
+        "name": "jsc-mips-ews",
+        "group": "jsc",
+        "runTests": false,
+        "watchers": [
+            "guijemont@igalia.com"
+        ]
+    },
     "Bindings EWS": {
         "port": "mac",
         "name": "bindings-ews",
index 94d71bf..564472a 100644 (file)
@@ -68,6 +68,7 @@ class DeprecatedPort(object):
             # FIXME: https://bugs.webkit.org/show_bug.cgi?id=169302
             "ios": IOSPort,
             "ios-simulator-wk2": IOSSimulatorWK2Port,
+            "jsc-only": JscOnlyPort,
             "mac": MacPort,
             "mac-wk2": MacWK2Port,
             "win": WinPort,
@@ -230,3 +231,11 @@ class WpePort(DeprecatedPort):
         command = super(WpePort, self).run_webkit_tests_command(build_style)
         command.append("--wpe")
         return command
+
+
+class JscOnlyPort(DeprecatedPort):
+    port_flag_name = "jsc-only"
+
+    def build_jsc_command(self, build_style=None):
+        command = self.script_shell_command("build-jsc")
+        return self._append_build_style_flag(command, build_style)
index 2c528b9..c9480c0 100644 (file)
@@ -61,3 +61,9 @@ class DeprecatedPortTest(unittest.TestCase):
         self.assertEqual(WinCairoPort().run_webkit_tests_command(), DeprecatedPort().script_shell_command("run-webkit-tests") + ["--wincairo"])
         self.assertEqual(WinCairoPort().build_webkit_command(), DeprecatedPort().script_shell_command("build-webkit") + ["--wincairo"])
         self.assertEqual(WinCairoPort().build_webkit_command(build_style="debug"), DeprecatedPort().script_shell_command("build-webkit") + ["--debug", "--wincairo"])
+
+    def test_jsconly_port(self):
+        self.assertEqual(JscOnlyPort().flag(), "--port=jsc-only")
+        self.assertEqual(JscOnlyPort().build_jsc_command(), DeprecatedPort().script_shell_command("build-jsc"))
+        self.assertEqual(JscOnlyPort().build_jsc_command(build_style="release"), DeprecatedPort().script_shell_command("build-jsc") + ["--release"])
+        self.assertEqual(JscOnlyPort().build_jsc_command(build_style="debug"), DeprecatedPort().script_shell_command("build-jsc") + ["--debug"])
index 49190d1..1195e80 100644 (file)
@@ -91,6 +91,7 @@ class PortFactory(object):
         'gtk.GtkPort',
         'ios_simulator.IOSSimulatorPort',
         'ios_device.IOSDevicePort',
+        'jsc_only.JscOnlyPort',
         'mac.MacPort',
         'mock_drt.MockDRTPort',
         'test.TestPort',
diff --git a/Tools/Scripts/webkitpy/port/jsc_only.py b/Tools/Scripts/webkitpy/port/jsc_only.py
new file mode 100644 (file)
index 0000000..2d71d07
--- /dev/null
@@ -0,0 +1,30 @@
+# Copyright (C) 2018 Igalia S.L.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+from webkitpy.port.base import Port
+
+
+class JscOnlyPort(Port):
+    port_name = "jsc-only"
+
+    def __init__(self, *args, **kwargs):
+        super(JscOnlyPort, self).__init__(*args, **kwargs)
index 6ecaed0..24460aa 100644 (file)
@@ -197,6 +197,7 @@ MOCK: update_status: %(name)s Checked relevance of patch
             'ios-ews',
             'ios-sim-ews',
             'jsc-ews',
+            'jsc-mips-ews',
             'mac-32bit-ews',
             'mac-debug-ews',
             'mac-ews',