Home | History | Annotate | Download | only in subdirectory
      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 """
      8 Verifies building a subsidiary dependent target from a .gyp file in a
      9 subdirectory, without specifying an explicit output build directory,
     10 and using the subdirectory's solution or project file as the entry point.
     11 """
     12 
     13 import TestGyp
     14 
     15 # Android doesn't support running from subdirectories.
     16 # Ninja doesn't support relocation.
     17 # CMake produces a single CMakeLists.txt in the output directory.
     18 test = TestGyp.TestGyp(formats=['!ninja', '!android', '!cmake'])
     19 
     20 test.run_gyp('prog1.gyp', chdir='src')
     21 
     22 test.relocate('src', 'relocate/src')
     23 
     24 chdir = 'relocate/src/subdir'
     25 target = test.ALL
     26 
     27 test.build('prog2.gyp', target, chdir=chdir)
     28 
     29 test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
     30 
     31 test.run_built_executable('prog2',
     32                           chdir=chdir,
     33                           stdout="Hello from prog2.c\n")
     34 
     35 test.pass_test()
     36