Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(593)

Unified Diff: test/ios/gyptest-per-config-settings.py

Issue 1701503002: Re-land update Xcode emulation extra plist items for Xcode 7.2 (Closed) Base URL: https://chromium.googlesource.com/external/gyp.git@master
Patch Set: Remove extra call to self._GetSdkVersionInfoItem Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/ios/gyptest-archs.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/ios/gyptest-per-config-settings.py
diff --git a/test/ios/gyptest-per-config-settings.py b/test/ios/gyptest-per-config-settings.py
index 63e9044f992e91490ea734b498c6c6224e2a24b9..7313e563439bbb98c7252389185c63f4c1f566b1 100644
--- a/test/ios/gyptest-per-config-settings.py
+++ b/test/ios/gyptest-per-config-settings.py
@@ -15,11 +15,7 @@ import struct
import subprocess
import sys
import tempfile
-
-if sys.platform == 'darwin':
- print "This test is currently disabled: https://crbug.com/483696."
- sys.exit(0)
-
+import TestMac
def CheckFileType(file, expected):
proc = subprocess.Popen(['lipo', '-info', file], stdout=subprocess.PIPE)
@@ -67,8 +63,13 @@ def ParseEntitlements(data):
return None
return data[8:]
-def GetProductVersion():
- args = ['xcodebuild','-version','-sdk','iphoneos','ProductVersion']
+def GetXcodeVersionValue(type):
+ args = ['xcodebuild', '-version', '-sdk', 'iphoneos', type]
+ job = subprocess.Popen(args, stdout=subprocess.PIPE)
+ return job.communicate()[0].strip()
+
+def GetMachineBuild():
+ args = ['sw_vers', '-buildVersion']
job = subprocess.Popen(args, stdout=subprocess.PIPE)
return job.communicate()[0].strip()
@@ -98,45 +99,78 @@ if sys.platform == 'darwin':
test.run_gyp('test-device.gyp', chdir='app-bundle')
test_configs = ['Default-iphoneos', 'Default']
- # TODO(justincohen): Disabling 'Default-iphoneos' for xcode until bots are
- # configured with signing certs.
- if test.format == 'xcode':
- test_configs.remove('Default-iphoneos')
-
for configuration in test_configs:
test.set_configuration(configuration)
test.build('test-device.gyp', 'test_app', chdir='app-bundle')
- result_file = test.built_file_path('Test App Gyp.bundle/Test App Gyp',
+ result_file = test.built_file_path('Test App Gyp.app/Test App Gyp',
chdir='app-bundle')
test.must_exist(result_file)
-
- info_plist = test.built_file_path('Test App Gyp.bundle/Info.plist',
+ info_plist = test.built_file_path('Test App Gyp.app/Info.plist',
chdir='app-bundle')
-
- # plistlib doesn't support binary plists, but that's what Xcode creates.
- if test.format == 'xcode':
- ConvertBinaryPlistToXML(info_plist)
plist = plistlib.readPlist(info_plist)
-
+ xcode_version = TestMac.Xcode.Version()
+ if xcode_version >= '0720':
+ if len(plist) != 23:
+ print 'plist should have 23 entries, but it has %s' % len(plist)
+ test.fail_test()
+
+ # Values that will hopefully never change.
+ CheckPlistvalue(plist, 'CFBundleDevelopmentRegion', 'English')
+ CheckPlistvalue(plist, 'CFBundleExecutable', 'Test App Gyp')
+ CheckPlistvalue(plist, 'CFBundleIdentifier', 'com.google.Test App Gyp')
+ CheckPlistvalue(plist, 'CFBundleInfoDictionaryVersion', '6.0')
+ CheckPlistvalue(plist, 'CFBundleName', 'Test App Gyp')
+ CheckPlistvalue(plist, 'CFBundlePackageType', 'APPL')
+ CheckPlistvalue(plist, 'CFBundleShortVersionString', '1.0')
+ CheckPlistvalue(plist, 'CFBundleSignature', 'ause')
+ CheckPlistvalue(plist, 'CFBundleVersion', '1')
+ CheckPlistvalue(plist, 'NSMainNibFile', 'MainMenu')
+ CheckPlistvalue(plist, 'NSPrincipalClass', 'NSApplication')
CheckPlistvalue(plist, 'UIDeviceFamily', [1, 2])
+ # Values that get pulled from xcodebuild.
+ machine_build = GetMachineBuild()
+ platform_version = GetXcodeVersionValue('ProductVersion')
+ sdk_build = GetXcodeVersionValue('ProductBuildVersion')
+ xcode_build = TestMac.Xcode.Build()
+
+ # Xcode keeps changing what gets included in executable plists, and it
+ # changes between device and simuator builds. Allow the strictest tests for
+ # Xcode 7.2 and above.
+ if xcode_version >= '0720':
+ CheckPlistvalue(plist, 'BuildMachineOSBuild', machine_build)
+ CheckPlistvalue(plist, 'DTCompiler', 'com.apple.compilers.llvm.clang.1_0')
+ CheckPlistvalue(plist, 'DTPlatformVersion', platform_version)
+ CheckPlistvalue(plist, 'DTSDKBuild', sdk_build)
+ CheckPlistvalue(plist, 'DTXcode', xcode_version)
+ CheckPlistvalue(plist, 'DTXcodeBuild', xcode_build)
+ CheckPlistvalue(plist, 'MinimumOSVersion', '8.0')
+
+
if configuration == 'Default-iphoneos':
+ platform_name = 'iphoneos'
CheckFileType(result_file, 'armv7')
- CheckPlistvalue(plist, 'DTPlatformVersion', GetProductVersion())
CheckPlistvalue(plist, 'CFBundleSupportedPlatforms', ['iPhoneOS'])
- CheckPlistvalue(plist, 'DTPlatformName', 'iphoneos')
+ # Apple keeps changing their mind.
+ if xcode_version >= '0720':
+ CheckPlistvalue(plist, 'DTPlatformBuild', sdk_build)
else:
+ platform_name = 'iphonesimulator'
CheckFileType(result_file, 'i386')
- CheckPlistNotSet(plist, 'DTPlatformVersion')
CheckPlistvalue(plist, 'CFBundleSupportedPlatforms', ['iPhoneSimulator'])
- CheckPlistvalue(plist, 'DTPlatformName', 'iphonesimulator')
+ if xcode_version >= '0720':
+ CheckPlistvalue(plist, 'DTPlatformBuild', '')
+
+ CheckPlistvalue(plist, 'DTPlatformName', platform_name)
+ CheckPlistvalue(plist, 'DTSDKName', platform_name + platform_version)
+
if HasCerts() and configuration == 'Default-iphoneos':
test.build('test-device.gyp', 'sig_test', chdir='app-bundle')
- result_file = test.built_file_path('sig_test.bundle/sig_test',
+ result_file = test.built_file_path('sigtest.app/sigtest',
chdir='app-bundle')
CheckSignature(result_file)
- info_plist = test.built_file_path('sig_test.bundle/Info.plist',
+ info_plist = test.built_file_path('sigtest.app/Info.plist',
chdir='app-bundle')
plist = plistlib.readPlist(info_plist)
« no previous file with comments | « test/ios/gyptest-archs.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698