1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/usr/bin/env python
- # Copyright (c) 2012 Google Inc. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- """
- Verifies that ios app bundles are built correctly.
- """
- import TestGyp
- import subprocess
- import sys
- def CheckFileXMLPropertyList(file):
- output = subprocess.check_output(['file', file])
- # The double space after XML is intentional.
- if not 'XML document text' in output:
- print 'File: Expected XML document text, got %s' % output
- test.fail_test()
- def CheckFileBinaryPropertyList(file):
- output = subprocess.check_output(['file', file])
- if not 'Apple binary property list' in output:
- print 'File: Expected Apple binary property list, got %s' % output
- test.fail_test()
- if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['xcode', 'ninja'])
- test.run_gyp('test.gyp', chdir='app-bundle')
- test.build('test.gyp', test.ALL, chdir='app-bundle')
- # Test that the extension is .bundle
- test.built_file_must_exist('Test App Gyp.app/Test App Gyp',
- chdir='app-bundle')
- # Info.plist
- info_plist = test.built_file_path('Test App Gyp.app/Info.plist',
- chdir='app-bundle')
- test.built_file_must_exist(info_plist)
- CheckFileBinaryPropertyList(info_plist)
- # XML Info.plist
- info_plist = test.built_file_path('Test App Gyp XML.app/Info.plist',
- chdir='app-bundle')
- CheckFileXMLPropertyList(info_plist)
- # Resources
- strings_file = test.built_file_path(
- 'Test App Gyp.app/English.lproj/InfoPlist.strings',
- chdir='app-bundle')
- test.built_file_must_exist(strings_file)
- CheckFileBinaryPropertyList(strings_file)
- test.built_file_must_exist(
- 'Test App Gyp.app/English.lproj/MainMenu.nib',
- chdir='app-bundle')
- test.built_file_must_exist(
- 'Test App Gyp.app/English.lproj/Main_iPhone.storyboardc',
- chdir='app-bundle')
- # Packaging
- test.built_file_must_exist('Test App Gyp.app/PkgInfo',
- chdir='app-bundle')
- test.built_file_must_match('Test App Gyp.app/PkgInfo', 'APPLause',
- chdir='app-bundle')
- test.pass_test()
|