| Index: test/mac/gyptest-identical-name.py
|
| diff --git a/test/mac/gyptest-identical-name.py b/test/mac/gyptest-identical-name.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0d358df9210f878244c5bf53b6b85af5d69866bf
|
| --- /dev/null
|
| +++ b/test/mac/gyptest-identical-name.py
|
| @@ -0,0 +1,45 @@
|
| +#!/usr/bin/env python
|
| +
|
| +# Copyright (c) 2014 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 libraries (in identical-names) are properly handeled by xcode.
|
| +
|
| +The names for all libraries participating in this build are:
|
| +libtestlib.a - identical-name/testlib
|
| +libtestlib.a - identical-name/proxy/testlib
|
| +libproxy.a - identical-name/proxy
|
| +The first two libs produce a hash collision in Xcode when Gyp is executed,
|
| +because they have the same name and would be copied to the same directory with
|
| +Xcode default settings.
|
| +For this scenario to work one needs to change the Xcode variables SYMROOT and
|
| +CONFIGURATION_BUILD_DIR. Setting these to per-lib-unique directories, avoids
|
| +copying the libs into the same directory.
|
| +
|
| +The test consists of two steps. The first one verifies that by setting both
|
| +vars, there is no hash collision anymore during Gyp execution and that the libs
|
| +can actually be be built. The second one verifies that there is still a hash
|
| +collision if the vars are not set and thus the current behavior is preserved.
|
| +"""
|
| +
|
| +import TestGyp
|
| +
|
| +import sys
|
| +
|
| +def IgnoreOutput(string, expected_string):
|
| + return True
|
| +
|
| +if sys.platform == 'darwin':
|
| + test = TestGyp.TestGyp(formats=['xcode'])
|
| +
|
| +
|
| + test.run_gyp('test.gyp', chdir='identical-name')
|
| + test.build('test.gyp', test.ALL, chdir='identical-name')
|
| +
|
| + test.run_gyp('test-should-fail.gyp', chdir='identical-name')
|
| + test.built_file_must_not_exist('test-should-fail.xcodeproj')
|
| +
|
| + test.pass_test()
|
| +
|
|
|