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 that two targets with the same name generates an error. 9 """ 10 11 import TestGyp 12 import TestCmd 13 14 # TODO(sbc): Remove the use of match_re below, done because scons 15 # error messages were not consistent with other generators. 16 # Also remove input.py:generator_wants_absolute_build_file_paths. 17 18 test = TestGyp.TestGyp() 19 20 stderr = ('gyp: Duplicate target definitions for ' 21 '.*duplicate_targets.gyp:foo#target\n') 22 test.run_gyp('duplicate_targets.gyp', status=1, stderr=stderr, 23 match=TestCmd.match_re) 24 25 stderr = ('gyp: Unable to find targets in build file .*missing_targets.gyp ' 26 'while trying to load missing_targets.gyp\n') 27 test.run_gyp('missing_targets.gyp', status=1, stderr=stderr, 28 match=TestCmd.match_re) 29 30 stderr = ('gyp: rule bar exists in duplicate, target ' 31 '.*duplicate_rule.gyp:foo#target\n') 32 test.run_gyp('duplicate_rule.gyp', status=1, stderr=stderr, 33 match=TestCmd.match_re) 34 35 stderr = ("gyp: Key 'targets' repeated at level 1 with key path '' while " 36 "reading .*duplicate_node.gyp while trying to load " 37 "duplicate_node.gyp\n") 38 test.run_gyp('duplicate_node.gyp', '--check', status=1, stderr=stderr, 39 match=TestCmd.match_re) 40 41 stderr = 'gyp: Duplicate basenames in sources section, see list above\n' 42 test.run_gyp('duplicate_basenames.gyp', status=1, stderr=stderr) 43 44 stderr = ("gyp: Dependency '.*missing_dep.gyp:missing.gyp#target' not found " 45 "while trying to load target .*missing_dep.gyp:foo#target\n") 46 test.run_gyp('missing_dep.gyp', status=1, stderr=stderr, 47 match=TestCmd.match_re) 48 49 test.pass_test() 50