1#!/usr/bin/env python
2
3# Copyright (c) 2012 Google Inc. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7"""
8Verifies building a subsidiary dependent target from a .gyp file in a
9subdirectory, without specifying an explicit output build directory,
10and using the subdirectory's solution or project file as the entry point.
11"""
12
13import TestGyp
14import errno
15
16# Android doesn't support running from subdirectories.
17# Ninja doesn't support relocation.
18# CMake produces a single CMakeLists.txt in the output directory.
19test = TestGyp.TestGyp(formats=['!ninja', '!android', '!cmake'])
20
21test.run_gyp('prog1.gyp', chdir='src')
22
23test.relocate('src', 'relocate/src')
24
25chdir = 'relocate/src/subdir'
26
27test.build('prog2.gyp', chdir=chdir)
28
29test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
30
31test.run_built_executable('prog2',
32                          chdir=chdir,
33                          stdout="Hello from prog2.c\n")
34
35test.pass_test()
36