| #!/usr/bin/env python |
| |
| # Copyright (c) 2013 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 *_wrapper in make_global_settings. |
| """ |
| |
| import os |
| import sys |
| import TestGyp |
| |
| test_format = ['ninja'] |
| if sys.platform in ('linux2', 'darwin'): |
| test_format += ['make'] |
| |
| test = TestGyp.TestGyp(formats=test_format) |
| |
| old_env = dict(os.environ) |
| os.environ['GYP_CROSSCOMPILE'] = '1' |
| test.run_gyp('wrapper.gyp') |
| os.environ.clear() |
| os.environ.update(old_env) |
| |
| if test.format == 'make': |
| cc_expected = """ifneq (,$(filter $(origin CC), undefined default)) |
| CC = $(abspath distcc) $(abspath clang) |
| endif |
| """ |
| link_expected = 'LINK ?= $(abspath distlink) $(abspath clang++)' |
| test.must_contain('Makefile', cc_expected) |
| test.must_contain('Makefile', link_expected) |
| if test.format == 'ninja': |
| cc_expected = ('cc = ' + os.path.join('..', '..', 'distcc') + ' ' + |
| os.path.join('..', '..', 'clang')) |
| cc_host_expected = ('cc_host = ' + os.path.join('..', '..', 'ccache') + ' ' + |
| os.path.join('..', '..', 'clang')) |
| ld_expected = 'ld = ../../distlink $cc' |
| if sys.platform == 'win32': |
| ld_expected = 'link.exe' |
| test.must_contain('out/Default/build.ninja', cc_expected) |
| test.must_contain('out/Default/build.ninja', cc_host_expected) |
| test.must_contain('out/Default/build.ninja', ld_expected) |
| |
| test.pass_test() |