| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 | 2 | 
| 3 # Copyright (c) 2009 Google Inc. All rights reserved. | 3 # Copyright (c) 2009 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 Verify the settings that cause a set of programs to be created in | 8 Verify the settings that cause a set of programs to be created in | 
| 9 a specific build directory, and that no intermediate built files | 9 a specific build directory, and that no intermediate built files | 
| 10 get created outside of that build directory hierarchy even when | 10 get created outside of that build directory hierarchy even when | 
| 11 referred to with deeply-nested ../../.. paths. | 11 referred to with deeply-nested ../../.. paths. | 
| 12 """ | 12 """ | 
| 13 | 13 | 
| 14 import TestGyp | 14 import TestGyp | 
| 15 | 15 | 
| 16 # TODO(mmoss): Make only supports (theoretically) a single, global build | 16 # TODO(mmoss): Make only supports (theoretically) a single, global build | 
| 17 # directory (through GYP_GENERATOR_FLAGS 'output_dir'), rather than | 17 # directory (through GYP_GENERATOR_FLAGS 'output_dir'), rather than | 
| 18 # gyp-file-specific settings (e.g. the stuff in builddir.gypi) that the other | 18 # gyp-file-specific settings (e.g. the stuff in builddir.gypi) that the other | 
| 19 # generators support, so this doesn't work yet for make. | 19 # generators support, so this doesn't work yet for make. | 
| 20 # TODO(mmoss) Make also has the issue that the top-level Makefile is written to | 20 # TODO(mmoss) Make also has the issue that the top-level Makefile is written to | 
| 21 # the "--depth" location, which is one level above 'src', but then this test | 21 # the "--depth" location, which is one level above 'src', but then this test | 
| 22 # moves 'src' somewhere else, leaving the Makefile behind, so make can't find | 22 # moves 'src' somewhere else, leaving the Makefile behind, so make can't find | 
| 23 # its sources. I'm not sure if make is wrong for writing outside the current | 23 # its sources. I'm not sure if make is wrong for writing outside the current | 
| 24 # directory, or if the test is wrong for assuming everything generated is under | 24 # directory, or if the test is wrong for assuming everything generated is under | 
| 25 # the current directory. | 25 # the current directory. | 
| 26 test = TestGyp.TestGyp(formats=['!make']) | 26 test = TestGyp.TestGyp(formats=['!make', '!ninja']) | 
| 27 | 27 | 
| 28 test.run_gyp('prog1.gyp', '--depth=..', chdir='src') | 28 test.run_gyp('prog1.gyp', '--depth=..', chdir='src') | 
| 29 | 29 | 
| 30 test.relocate('src', 'relocate/src') | 30 test.relocate('src', 'relocate/src') | 
| 31 | 31 | 
| 32 test.subdir('relocate/builddir') | 32 test.subdir('relocate/builddir') | 
| 33 | 33 | 
| 34 # Make sure that all the built ../../etc. files only get put under builddir, | 34 # Make sure that all the built ../../etc. files only get put under builddir, | 
| 35 # by making all of relocate read-only and then making only builddir writable. | 35 # by making all of relocate read-only and then making only builddir writable. | 
| 36 test.writable('relocate', False) | 36 test.writable('relocate', False) | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 68   dir = 'relocate/builddir/Default/' | 68   dir = 'relocate/builddir/Default/' | 
| 69   test.run(program=test.workpath(dir + prog), stdout=expect) | 69   test.run(program=test.workpath(dir + prog), stdout=expect) | 
| 70 | 70 | 
| 71 run_builddir('prog1', expect1) | 71 run_builddir('prog1', expect1) | 
| 72 run_builddir('prog2', expect2) | 72 run_builddir('prog2', expect2) | 
| 73 run_builddir('prog3', expect3) | 73 run_builddir('prog3', expect3) | 
| 74 run_builddir('prog4', expect4) | 74 run_builddir('prog4', expect4) | 
| 75 run_builddir('prog5', expect5) | 75 run_builddir('prog5', expect5) | 
| 76 | 76 | 
| 77 test.pass_test() | 77 test.pass_test() | 
| OLD | NEW | 
|---|