| #!/usr/bin/env python |
| |
| # Copyright (c) 2012 Google Inc. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """ |
| Verifies that missing 'sources' files are treated as fatal errors when the |
| the generator flag 'msvs_error_on_missing_sources' is set. |
| """ |
| |
| import TestGyp |
| import os |
| import sys |
| |
| if sys.platform == 'win32': |
| test = TestGyp.TestGyp(formats=['msvs', 'ninja'], workdir='workarea_all') |
| |
| # With the flag not set |
| test.run_gyp('hello_missing.gyp') |
| |
| # With the flag explicitly set to 0 |
| try: |
| os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=0' |
| test.run_gyp('hello_missing.gyp') |
| finally: |
| del os.environ['GYP_GENERATOR_FLAGS'] |
| |
| # With the flag explicitly set to 1 |
| try: |
| os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=1' |
| # Test to make sure GYP raises an exception (exit status 1). Since this will |
| # also print a backtrace, ensure that TestGyp is not checking that stderr is |
| # empty by specifying None, which means do not perform any checking. |
| # Instead, stderr is checked below to ensure it contains the expected |
| # output. |
| test.run_gyp('hello_missing.gyp', status=1, stderr=None) |
| finally: |
| del os.environ['GYP_GENERATOR_FLAGS'] |
| test.must_contain_any_line(test.stderr(), |
| ["Missing input files:"]) |
| |
| test.pass_test() |