• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2
3# Copyright (c) 2012 Google Inc. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7"""
8Test cases when multiple targets in different directories have the same name.
9"""
10
11import TestGyp
12
13test = TestGyp.TestGyp(formats=['ninja', 'make'])
14
15# xcode-ninja fails to generate a project due to id collisions
16# cf. https://code.google.com/p/gyp/issues/detail?id=461
17if test.format == 'xcode-ninja':
18  test.skip_test()
19
20test.run_gyp('subdirs.gyp', chdir='src')
21
22test.relocate('src', 'relocate/src')
23
24# Test that we build all targets.
25test.build('subdirs.gyp', 'target', chdir='relocate/src')
26test.must_exist('relocate/src/subdir1/action1.txt')
27test.must_exist('relocate/src/subdir2/action2.txt')
28
29# Test that we build all targets using the correct actions, even if they have
30# the same names.
31test.build('subdirs.gyp', 'target_same_action_name', chdir='relocate/src')
32test.must_exist('relocate/src/subdir1/action.txt')
33test.must_exist('relocate/src/subdir2/action.txt')
34
35# Test that we build all targets using the correct rules, even if they have
36# the same names.
37test.build('subdirs.gyp', 'target_same_rule_name', chdir='relocate/src')
38test.must_exist('relocate/src/subdir1/rule.txt')
39test.must_exist('relocate/src/subdir2/rule.txt')
40
41test.pass_test()
42