OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # Copyright (c) 2012 Google Inc. All rights reserved. | 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 | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """ | 7 """ |
8 Verifies building a target from a .gyp file a few subdirectories | 8 Verifies building a target from a .gyp file a few subdirectories |
9 deep when the --generator-output= option is used to put the build | 9 deep when the --generator-output= option is used to put the build |
10 configuration files in a separate directory tree. | 10 configuration files in a separate directory tree. |
11 """ | 11 """ |
12 | 12 |
13 import TestGyp | 13 import TestGyp |
14 | 14 |
15 # Android doesn't support --generator-output. | 15 # Android doesn't support --generator-output. |
16 test = TestGyp.TestGyp(formats=['!android']) | 16 test = TestGyp.TestGyp(formats=['!android']) |
17 | 17 |
18 # Bug: xcode-ninja doesn't respect --generator-output | |
19 # cf. https://code.google.com/p/gyp/issues/detail?id=442 | |
20 if test.format == 'xcode-ninja': | |
21 test.skip_test() | |
22 | |
23 test.writable(test.workpath('src'), False) | 18 test.writable(test.workpath('src'), False) |
24 | 19 |
25 test.writable(test.workpath('src/subdir2/deeper/build'), True) | 20 test.writable(test.workpath('src/subdir2/deeper/build'), True) |
26 | 21 |
27 test.run_gyp('deeper.gyp', | 22 test.run_gyp('deeper.gyp', |
28 '-Dset_symroot=1', | 23 '-Dset_symroot=1', |
29 '--generator-output=' + test.workpath('gypfiles'), | 24 '--generator-output=' + test.workpath('gypfiles'), |
30 chdir='src/subdir2/deeper') | 25 chdir='src/subdir2/deeper') |
31 | 26 |
32 test.build('deeper.gyp', test.ALL, chdir='gypfiles') | 27 test.build('deeper.gyp', test.ALL, chdir='gypfiles') |
33 | 28 |
34 chdir = 'gypfiles' | 29 chdir = 'gypfiles' |
35 | 30 |
36 if test.format == 'xcode': | 31 if test.format == 'xcode': |
37 chdir = 'src/subdir2/deeper' | 32 chdir = 'src/subdir2/deeper' |
38 test.run_built_executable('deeper', | 33 test.run_built_executable('deeper', |
39 chdir=chdir, | 34 chdir=chdir, |
40 stdout="Hello from deeper.c\n") | 35 stdout="Hello from deeper.c\n") |
41 | 36 |
42 test.pass_test() | 37 test.pass_test() |
OLD | NEW |