summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/same-target-name-different-directory/gyptest-all.py
blob: 755691b57647e1365065175864a44dc0f61c0a2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/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.

"""
Test cases when multiple targets in different directories have the same name.
"""

import TestGyp

test = TestGyp.TestGyp(formats=['ninja', 'make'])

# xcode-ninja fails to generate a project due to id collisions
# cf. https://code.google.com/p/gyp/issues/detail?id=461
if test.format == 'xcode-ninja':
  test.skip_test()

test.run_gyp('subdirs.gyp', chdir='src')

test.relocate('src', 'relocate/src')

# Test that we build all targets.
test.build('subdirs.gyp', 'target', chdir='relocate/src')
test.must_exist('relocate/src/subdir1/action1.txt')
test.must_exist('relocate/src/subdir2/action2.txt')

# Test that we build all targets using the correct actions, even if they have
# the same names.
test.build('subdirs.gyp', 'target_same_action_name', chdir='relocate/src')
test.must_exist('relocate/src/subdir1/action.txt')
test.must_exist('relocate/src/subdir2/action.txt')

# Test that we build all targets using the correct rules, even if they have
# the same names.
test.build('subdirs.gyp', 'target_same_rule_name', chdir='relocate/src')
test.must_exist('relocate/src/subdir1/rule.txt')
test.must_exist('relocate/src/subdir2/rule.txt')

test.pass_test()