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 project hierarchy created when the --generator-output= 9option is used to put the build configuration files in a separate 10directory tree. 11""" 12 13import TestGyp 14 15# Android doesn't support --generator-output. 16test = TestGyp.TestGyp(formats=['!android']) 17 18test.writable(test.workpath('src'), False) 19 20test.run_gyp('prog1.gyp', 21 '-Dset_symroot=1', 22 '--generator-output=' + test.workpath('gypfiles'), 23 chdir='src') 24 25test.writable(test.workpath('src/build'), True) 26test.writable(test.workpath('src/subdir2/build'), True) 27test.writable(test.workpath('src/subdir3/build'), True) 28 29test.build('prog1.gyp', test.ALL, chdir='gypfiles') 30 31chdir = 'gypfiles' 32 33expect = """\ 34Hello from %s 35Hello from inc.h 36Hello from inc1/include1.h 37Hello from inc2/include2.h 38Hello from inc3/include3.h 39Hello from subdir2/deeper/deeper.h 40""" 41 42if test.format == 'xcode': 43 chdir = 'src' 44test.run_built_executable('prog1', chdir=chdir, stdout=expect % 'prog1.c') 45 46if test.format == 'xcode': 47 chdir = 'src/subdir2' 48test.run_built_executable('prog2', chdir=chdir, stdout=expect % 'prog2.c') 49 50if test.format == 'xcode': 51 chdir = 'src/subdir3' 52test.run_built_executable('prog3', chdir=chdir, stdout=expect % 'prog3.c') 53 54test.pass_test() 55