• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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