summaryrefslogtreecommitdiff
path: root/deps/gyp/test/mac/gyptest-loadable-module.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/gyp/test/mac/gyptest-loadable-module.py')
-rwxr-xr-xdeps/gyp/test/mac/gyptest-loadable-module.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/deps/gyp/test/mac/gyptest-loadable-module.py b/deps/gyp/test/mac/gyptest-loadable-module.py
new file mode 100755
index 0000000000..158a930552
--- /dev/null
+++ b/deps/gyp/test/mac/gyptest-loadable-module.py
@@ -0,0 +1,52 @@
+#!/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.
+
+"""
+Tests that a loadable_module target is built correctly.
+"""
+
+import TestGyp
+
+import os
+import struct
+import sys
+
+if sys.platform == 'darwin':
+ print "This test is currently disabled: https://crbug.com/483696."
+ sys.exit(0)
+
+ test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
+
+ CHDIR = 'loadable-module'
+ test.run_gyp('test.gyp', chdir=CHDIR)
+
+ test.build('test.gyp', test.ALL, chdir=CHDIR)
+
+ # Binary.
+ binary = test.built_file_path(
+ 'test_loadable_module.plugin/Contents/MacOS/test_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=CHDIR)
+ test.must_exist(info_plist)
+ test.must_contain(info_plist, """
+ <key>CFBundleExecutable</key>
+ <string>test_loadable_module</string>
+""")
+
+ # PkgInfo.
+ test.built_file_must_not_exist(
+ 'test_loadable_module.plugin/Contents/PkgInfo', chdir=CHDIR)
+ test.built_file_must_not_exist(
+ 'test_loadable_module.plugin/Contents/Resources', chdir=CHDIR)
+
+ test.pass_test()