Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Unified Diff: test/actions-multiple/gyptest-all.py

Issue 10454038: Fixing make generator handling of multiple actions in a dependent target. (Closed) Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pylib/gyp/generator/make.py ('k') | test/actions-multiple/src/actions.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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')
« no previous file with comments | « pylib/gyp/generator/make.py ('k') | test/actions-multiple/src/actions.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698