Index: test/mac/gyptest-loadable-module.py |
=================================================================== |
--- test/mac/gyptest-loadable-module.py (revision 1715) |
+++ test/mac/gyptest-loadable-module.py (working copy) |
@@ -11,23 +11,28 @@ |
import TestGyp |
import os |
+import struct |
import sys |
if sys.platform == 'darwin': |
test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode']) |
- test.run_gyp('test.gyp', chdir='loadable-module') |
- test.build('test.gyp', test.ALL, chdir='loadable-module') |
+ CHDIR = 'loadable-module' |
+ test.run_gyp('test.gyp', chdir=CHDIR) |
+ test.build('test.gyp', test.ALL, chdir=CHDIR) |
# Binary. |
- test.built_file_must_exist( |
+ binary = test.built_file_path( |
'test_loadable_module.plugin/Contents/MacOS/test_loadable_module', |
- chdir='loadable-module') |
+ chdir=CHDIR) |
+ test.must_exist(binary) |
+ MH_BUNDLE = 8 |
+ if struct.unpack('4I', open(binary, 'rb').read(16))[3] != MH_BUNDLE: |
+ test.fail_test() |
# Info.plist. |
info_plist = test.built_file_path( |
- 'test_loadable_module.plugin/Contents/Info.plist', |
- chdir='loadable-module') |
+ 'test_loadable_module.plugin/Contents/Info.plist', chdir=CHDIR) |
test.must_exist(info_plist) |
test.must_contain(info_plist, """ |
<key>CFBundleExecutable</key> |
@@ -36,10 +41,8 @@ |
# PkgInfo. |
test.built_file_must_not_exist( |
- 'test_loadable_module.plugin/Contents/PkgInfo', |
- chdir='loadable-module') |
+ 'test_loadable_module.plugin/Contents/PkgInfo', chdir=CHDIR) |
test.built_file_must_not_exist( |
- 'test_loadable_module.plugin/Contents/Resources', |
- chdir='loadable-module') |
+ 'test_loadable_module.plugin/Contents/Resources', chdir=CHDIR) |
test.pass_test() |