| Index: test/actions-multiple/gyptest-all.py
|
| ===================================================================
|
| --- test/actions-multiple/gyptest-all.py (revision 1402)
|
| +++ test/actions-multiple/gyptest-all.py (working copy)
|
| @@ -1,6 +1,6 @@
|
| #!/usr/bin/env python
|
|
|
| -# Copyright (c) 2011 Google Inc. All rights reserved.
|
| +# 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.
|
|
|
| @@ -8,6 +8,8 @@
|
| Verifies two actions can be attached to the same input files.
|
| """
|
|
|
| +import sys
|
| +
|
| import TestGyp
|
|
|
| test = TestGyp.TestGyp()
|
| @@ -16,6 +18,34 @@
|
|
|
| test.relocate('src', 'relocate/src')
|
|
|
| +# Test of fine-grained dependencies for generators that can build individual
|
| +# files on demand.
|
| +# In particular:
|
| +# - TargetA depends on TargetB.
|
| +# - TargetA and TargetB are 'none' type with actions attached.
|
| +# - TargetA has multiple actions.
|
| +# - An output from one of the actions in TargetA (not the first listed),
|
| +# is requested as the build target.
|
| +# Ensure that TargetB gets built.
|
| +#
|
| +# This sub-test can only be done with generators/build tools that can
|
| +# be asked to build individual files rather than whole targets (make, ninja).
|
| +if test.format in ['make', 'ninja']:
|
| + # Select location of target based on generator.
|
| + if test.format == 'make':
|
| + target = 'multi2.txt'
|
| + elif test.format == 'ninja':
|
| + if sys.platform in ['win32', 'cygwin']:
|
| + target = '..\\..\\multi2.txt'
|
| + else:
|
| + target = '../../multi2.txt'
|
| + else:
|
| + assert False
|
| + test.build('actions.gyp', chdir='relocate/src', target=target)
|
| + test.must_contain('relocate/src/multi2.txt', 'hello there')
|
| + test.must_contain('relocate/src/multi_dep.txt', 'hello there')
|
| +
|
| +
|
| # Test that two actions can be attached to the same inputs.
|
| test.build('actions.gyp', test.ALL, chdir='relocate/src')
|
| test.must_contain('relocate/src/output1.txt', 'hello there')
|
|
|