[webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
authorjbedard@apple.com <jbedard@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 1 Mar 2018 02:09:39 +0000 (02:09 +0000)
committerjbedard@apple.com <jbedard@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 1 Mar 2018 02:09:39 +0000 (02:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=183184
<rdar://problem/37958594>

Reviewed by Aakash Jain.

Unlisted Apple versions can't run webkitpy tests because they don't
have specified port names.

* Scripts/webkitpy/port/apple.py:
(ApplePort.determine_full_port_name): Return valid port name for unnamed
versions.
* Scripts/webkitpy/port/base.py:
(Port.version_name): Check both public and internal version mapping
when returning a version name.
* Scripts/webkitpy/port/mac.py:
(MacPort.__init__): If no os version is defined, use the current version.

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

Tools/ChangeLog
Tools/Scripts/webkitpy/port/apple.py
Tools/Scripts/webkitpy/port/base.py
Tools/Scripts/webkitpy/port/mac.py

index 0ece790..248b2b6 100644 (file)
@@ -1,3 +1,23 @@
+2018-02-28  Jonathan Bedard  <jbedard@apple.com>
+
+        [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
+        https://bugs.webkit.org/show_bug.cgi?id=183184
+        <rdar://problem/37958594>
+
+        Reviewed by Aakash Jain.
+
+        Unlisted Apple versions can't run webkitpy tests because they don't
+        have specified port names.
+
+        * Scripts/webkitpy/port/apple.py:
+        (ApplePort.determine_full_port_name): Return valid port name for unnamed
+        versions.
+        * Scripts/webkitpy/port/base.py:
+        (Port.version_name): Check both public and internal version mapping
+        when returning a version name.
+        * Scripts/webkitpy/port/mac.py:
+        (MacPort.__init__): If no os version is defined, use the current version.
+
 2018-02-28  John Wilander  <wilander@apple.com>
 
         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
index ac89b7c..61d2c2a 100644 (file)
@@ -60,10 +60,12 @@ class ApplePort(Port):
             # That convention means that we're supposed to use the version currently
             # being run, so this won't work if you're not on mac or win (respectively).
             # If you're not on the o/s in question, you must specify a full version or -future (cf. above).
-            if port_name == cls.port_name and not getattr(options, 'webkit_test_runner', False):
+            if port_name == cls.port_name and not getattr(options, 'webkit_test_runner', False) and host.platform.os_version_name():
                 port_name = cls.port_name + '-' + host.platform.os_version_name().lower().replace(' ', '')
-            else:
+            elif host.platform.os_version_name():
                 port_name = cls.port_name + '-' + host.platform.os_version_name().lower().replace(' ', '') + '-wk2'
+            else:
+                port_name = cls.port_name + '-wk2'
         elif getattr(options, 'webkit_test_runner', False) and  '-wk2' not in port_name:
             port_name += '-wk2'
 
index c166cf4..cfd161a 100644 (file)
@@ -49,7 +49,7 @@ from webkitpy.common.memoized import memoized
 from webkitpy.common.prettypatch import PrettyPatch
 from webkitpy.common.system import path
 from webkitpy.common.system.executive import ScriptError
-from webkitpy.common.version_name_map import PUBLIC_TABLE, VersionNameMap
+from webkitpy.common.version_name_map import PUBLIC_TABLE, INTERNAL_TABLE, VersionNameMap
 from webkitpy.common.wavediff import WaveDiff
 from webkitpy.common.webkit_finder import WebKitFinder
 from webkitpy.layout_tests.models.test_configuration import TestConfiguration
@@ -774,7 +774,10 @@ class Port(object):
         expectations, determining search paths, and logging information."""
         if self._os_version is None:
             return None
-        return VersionNameMap.map(self.host.platform).to_name(self._os_version, table=PUBLIC_TABLE)
+        result = VersionNameMap.map(self.host.platform).to_name(self._os_version, table=PUBLIC_TABLE)
+        if not result:
+            result = VersionNameMap.map(self.host.platform).to_name(self._os_version, table=INTERNAL_TABLE)
+        return result
 
     def get_option(self, name, default_value=None):
         return getattr(self._options, name, default_value)
index a7bcabd..6bd1d95 100644 (file)
@@ -56,13 +56,13 @@ class MacPort(DarwinPort):
     def __init__(self, host, port_name, **kwargs):
         DarwinPort.__init__(self, host, port_name, **kwargs)
         version_name_map = VersionNameMap.map(host.platform)
+        self._os_version = None
         if port_name.split('-') > 1:
             self._os_version = version_name_map.from_name(port_name.split('-')[1])[1]
         elif self.host.platform.is_mac():
             self._os_version = self.host.platform.os_version
-        else:
+        if not self._os_version:
             self._os_version = MacPort.CURRENT_VERSION
-        assert self._os_version
         assert self._os_version.major == 10
 
     def _build_driver_flags(self):