Title: [261722] trunk/Tools
- Revision
- 261722
- Author
- jbed...@apple.com
- Date
- 2020-05-14 16:38:22 -0700 (Thu, 14 May 2020)
Log Message
run-webkit-tests shouldn't need Xcode to run Mac tests
https://bugs.webkit.org/show_bug.cgi?id=211903
<rdar://problem/63205839>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo):
(PlatformInfo.xcode_sdk_version): Memoize SDK version retrieval.
(PlatformInfo.xcode_version): Only run xcodebuild if macosx SDK is present.
(PlatformInfo.available_sdks): Ditto.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo.test_available_sdks):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (261721 => 261722)
--- trunk/Tools/ChangeLog 2020-05-14 23:29:43 UTC (rev 261721)
+++ trunk/Tools/ChangeLog 2020-05-14 23:38:22 UTC (rev 261722)
@@ -1,3 +1,19 @@
+2020-05-14 Jonathan Bedard <jbed...@apple.com>
+
+ run-webkit-tests shouldn't need Xcode to run Mac tests
+ https://bugs.webkit.org/show_bug.cgi?id=211903
+ <rdar://problem/63205839>
+
+ Reviewed by Stephanie Lewis.
+
+ * Scripts/webkitpy/common/system/platforminfo.py:
+ (PlatformInfo):
+ (PlatformInfo.xcode_sdk_version): Memoize SDK version retrieval.
+ (PlatformInfo.xcode_version): Only run xcodebuild if macosx SDK is present.
+ (PlatformInfo.available_sdks): Ditto.
+ * Scripts/webkitpy/common/system/platforminfo_unittest.py:
+ (TestPlatformInfo.test_available_sdks):
+
2020-05-14 Daniel Bates <daba...@apple.com>
Include LocalOverrides.xcconfig in all Tools projects
Modified: trunk/Tools/Scripts/webkitpy/common/system/platforminfo.py (261721 => 261722)
--- trunk/Tools/Scripts/webkitpy/common/system/platforminfo.py 2020-05-14 23:29:43 UTC (rev 261721)
+++ trunk/Tools/Scripts/webkitpy/common/system/platforminfo.py 2020-05-14 23:38:22 UTC (rev 261722)
@@ -31,6 +31,7 @@
import re
import sys
+from webkitpy.common.memoized import memoized
from webkitpy.common.version import Version
from webkitpy.common.version_name_map import PUBLIC_TABLE, INTERNAL_TABLE, VersionNameMap
from webkitpy.common.system.executive import Executive
@@ -159,6 +160,7 @@
return self._executive.run_command(['/usr/bin/sw_vers', '-buildVersion'], return_stderr=False, ignore_errors=True).rstrip()
return None
+ @memoized
def xcode_sdk_version(self, sdk_name):
if self.is_mac():
# Assumes that xcrun does not write to standard output on failure (e.g. SDK does not exist).
@@ -173,13 +175,15 @@
output = self._executive.run_command(['xcrun', 'simctl', 'list'], return_stderr=False)
return (line for line in output.splitlines())
+ @memoized
def xcode_version(self):
- if not self.is_mac():
+ if not self.xcode_sdk_version('macosx'):
raise NotImplementedError
return Version.from_string(self._executive.run_command(['xcodebuild', '-version']).split()[1])
+ @memoized
def available_sdks(self):
- if not self.is_mac():
+ if not self.xcode_sdk_version('macosx'):
return []
XCODE_SDK_REGEX = re.compile('\-sdk (?P<sdk>\D+)\d+\.\d+(?P<specifier>\D*)')
Modified: trunk/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py (261721 => 261722)
--- trunk/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py 2020-05-14 23:29:43 UTC (rev 261721)
+++ trunk/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py 2020-05-14 23:38:22 UTC (rev 261722)
@@ -160,6 +160,10 @@
self.assertIsNone(info.total_bytes_memory())
def test_available_sdks(self):
+ sdk_version_output = '10.16\n'
+ info = self.make_info(fake_sys('darwin'), fake_platform('10.14.0'), fake_executive(sdk_version_output))
+ info.xcode_sdk_version('macosx')
+
show_sdks_output = """iOS SDKs:
iOS 12.0 -sdk iphoneos12.0
@@ -177,7 +181,7 @@
Simulator - watchOS 5.0 -sdk watchsimulator5.0
Simulator - watchOS 5.0 Internal -sdk watchsimulator5.0.type
"""
- info = self.make_info(fake_sys('darwin'), fake_platform('10.14.0'), fake_executive(show_sdks_output))
+ info._executive = fake_executive(show_sdks_output)
self.assertEqual(info.available_sdks(), [
'iphoneos',
'iphonesimulator', 'iphonesimulator.type',
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes