121de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org#!/usr/bin/env python
221de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
3df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# Copyright (c) 2009 Google Inc. All rights reserved.
4df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# Use of this source code is governed by a BSD-style license that can be
5df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# found in the LICENSE file.
6df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org
721de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org"""
821de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgVerifies building a target and a subsidiary dependent target from a
921de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org.gyp file in a subdirectory, without specifying an explicit output build
1021de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgdirectory, and using the generated solution or project file at the top
1121de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgof the tree as the entry point.
1221de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
1321de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgThe configuration sets the Xcode SYMROOT variable and uses --depth=
1421de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgto make Xcode behave like the other build tools--that is, put all
1521de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgbuilt targets in a single output build directory at the top of the tree.
1621de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org"""
1721de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
1821de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgimport TestGyp
1921de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
2021de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgtest = TestGyp.TestGyp()
2121de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
22d11b9aee6479cfb7d6499995bd6a8ccb834567f0sgk@chromium.orgtest.run_gyp('prog1.gyp', '-Dset_symroot=1', '--depth=.', chdir='src')
2321de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
24fa5b46b96b21ff75d8b6b3dacc4693b69c43654csgk@chromium.orgtest.relocate('src', 'relocate/src')
25d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org
2621de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org# Suppress the test infrastructure's setting SYMROOT on the command line.
27040d50e7277c41a0b9641dc42c76be8605055637sgk@chromium.orgtest.build('prog1.gyp', SYMROOT=None, chdir='relocate/src')
28d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org
29d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.orgtest.run_built_executable('prog1',
30d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org                          stdout="Hello from prog1.c\n",
31d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org                          chdir='relocate/src')
3221de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
33d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.orgtest.run_built_executable('prog2',
34d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org                          stdout="Hello from prog2.c\n",
35d550593518022aba6c0a52203c1fd98922ac08ffsgk@chromium.org                          chdir='relocate/src')
3621de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.org
3721de15f7bb280f679dad49a99a13199f5bcca001sgk@chromium.orgtest.pass_test()
38