| Index: test/ios/gyptest-per-config-settings.py
|
| ===================================================================
|
| --- test/ios/gyptest-per-config-settings.py (revision 1753)
|
| +++ test/ios/gyptest-per-config-settings.py (working copy)
|
| @@ -8,6 +8,7 @@
|
| Verifies that device and simulator bundles are built correctly.
|
| """
|
|
|
| +import plistlib
|
| import TestGyp
|
| import subprocess
|
| import sys
|
| @@ -22,22 +23,53 @@
|
| test.fail_test()
|
|
|
|
|
| +def CheckPlistvalue(plist, key, expected):
|
| + if key not in plist:
|
| + print '%s not set in plist' % key
|
| + test.fail_test()
|
| + return
|
| + actual = plist[key]
|
| + if actual != expected:
|
| + print 'File: Expected %s, got %s for %s' % (expected, actual, key)
|
| + test.fail_test()
|
| +
|
| +def ConvertBinaryPlistToXML(path):
|
| + proc = subprocess.call(['plutil', '-convert', 'xml1', path],
|
| + stdout=subprocess.PIPE)
|
| +
|
| if sys.platform == 'darwin':
|
| - # TODO(justincohen): Enable this in xcode too once ninja can codesign and bots
|
| - # are configured with signing certs.
|
| - test = TestGyp.TestGyp(formats=['ninja'])
|
| + test = TestGyp.TestGyp(formats=['ninja', 'xcode'])
|
|
|
| test.run_gyp('test-device.gyp', chdir='app-bundle')
|
|
|
| - for configuration in ['Default-iphoneos', 'Default']:
|
| + 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.ALL, chdir='app-bundle')
|
| result_file = test.built_file_path('Test App Gyp.bundle/Test App Gyp',
|
| chdir='app-bundle')
|
| test.must_exist(result_file)
|
| +
|
| + info_plist = test.built_file_path('Test App Gyp.bundle/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)
|
| +
|
| + CheckPlistvalue(plist, 'UIDeviceFamily', [1, 2])
|
| +
|
| if configuration == 'Default-iphoneos':
|
| CheckFileType(result_file, 'armv7')
|
| + CheckPlistvalue(plist, 'CFBundleSupportedPlatforms', ['iPhoneOS'])
|
| else:
|
| CheckFileType(result_file, 'i386')
|
| + CheckPlistvalue(plist, 'CFBundleSupportedPlatforms', ['iPhoneSimulator'])
|
|
|
| test.pass_test()
|
|
|