| #!/usr/bin/env python |
| |
| # Copyright (c) 2011 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. |
| |
| """ |
| Verifies simple rules when using an explicit build target of 'all'. |
| """ |
| |
| from __future__ import print_function |
| |
| import TestGyp |
| import os |
| import sys |
| |
| if sys.platform == 'win32': |
| print("This test is currently disabled: https://crbug.com/483696.") |
| sys.exit(0) |
| |
| |
| test = TestGyp.TestGyp(formats=['make', 'ninja', 'xcode', 'msvs']) |
| |
| test.run_gyp('actions.gyp', chdir='src') |
| |
| test.relocate('src', 'relocate/src') |
| |
| test.build('actions.gyp', chdir='relocate/src') |
| |
| expect = """\ |
| no dir here |
| hi c |
| hello baz |
| """ |
| if test.format == 'xcode': |
| chdir = 'relocate/src/subdir' |
| else: |
| chdir = 'relocate/src' |
| test.run_built_executable('gencc_int_output', chdir=chdir, stdout=expect) |
| if test.format == 'msvs': |
| test.run_built_executable('gencc_int_output_external', chdir=chdir, |
| stdout=expect) |
| |
| test.must_match('relocate/src/subdir/foo/bar/baz.dirname', |
| os.path.join('foo', 'bar')) |
| test.must_match('relocate/src/subdir/a/b/c.dirname', |
| os.path.join('a', 'b')) |
| |
| # FIXME the xcode and make generators incorrectly convert RULE_INPUT_PATH |
| # to an absolute path, making the tests below fail! |
| if test.format != 'xcode' and test.format != 'make': |
| test.must_match('relocate/src/subdir/foo/bar/baz.path', |
| os.path.join('foo', 'bar', 'baz.printvars')) |
| test.must_match('relocate/src/subdir/a/b/c.path', |
| os.path.join('a', 'b', 'c.printvars')) |
| |
| test.pass_test() |