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