diff options
Diffstat (limited to 'third_party/python/gyp/test/ios/gyptest-app-ios.py')
-rwxr-xr-x | third_party/python/gyp/test/ios/gyptest-app-ios.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/third_party/python/gyp/test/ios/gyptest-app-ios.py b/third_party/python/gyp/test/ios/gyptest-app-ios.py new file mode 100755 index 0000000000..99f9e865dc --- /dev/null +++ b/third_party/python/gyp/test/ios/gyptest-app-ios.py @@ -0,0 +1,76 @@ +#!/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]) + if not 'XML 1.0 document text' in output: + print('File: Expected XML 1.0 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) + + extra_plist_file = test.built_file_path( + 'Test App Gyp.app/English.lproj/LanguageMap.plist', + chdir='app-bundle') + test.built_file_must_exist(extra_plist_file) + CheckFileBinaryPropertyList(extra_plist_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() |