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 """ 8 Test cases when multiple targets in different directories have the same name. 9 """ 10 11 import TestGyp 12 13 test = 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 17 if test.format == 'xcode-ninja': 18 test.skip_test() 19 20 test.run_gyp('subdirs.gyp', chdir='src') 21 22 test.relocate('src', 'relocate/src') 23 24 # Test that we build all targets. 25 test.build('subdirs.gyp', 'target', chdir='relocate/src') 26 test.must_exist('relocate/src/subdir1/action1.txt') 27 test.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. 31 test.build('subdirs.gyp', 'target_same_action_name', chdir='relocate/src') 32 test.must_exist('relocate/src/subdir1/action.txt') 33 test.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. 37 test.build('subdirs.gyp', 'target_same_rule_name', chdir='relocate/src') 38 test.must_exist('relocate/src/subdir1/rule.txt') 39 test.must_exist('relocate/src/subdir2/rule.txt') 40 41 test.pass_test() 42