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"""
8Test that environment variables are ignored when --ignore-environment is
9specified.
10"""
11
12import os
13
14import TestGyp
15
16test = TestGyp.TestGyp(format='gypd')
17
18os.environ['GYP_DEFINES'] = 'FOO=BAR'
19os.environ['GYP_GENERATORS'] = 'foo'
20os.environ['GYP_GENERATOR_FLAGS'] = 'genflag=foo'
21os.environ['GYP_GENERATOR_OUTPUT'] = 'somedir'
22
23expect = test.read('commands.gyp.ignore-env.stdout').replace('\r\n', '\n')
24
25test.run_gyp('commands.gyp',
26             '--debug', 'variables',
27             '--ignore-environment',
28             stdout=expect, ignore_line_numbers=True)
29
30# Verify the commands.gypd against the checked-in expected contents.
31#
32# Normally, we should canonicalize line endings in the expected
33# contents file setting the Subversion svn:eol-style to native,
34# but that would still fail if multiple systems are sharing a single
35# workspace on a network-mounted file system.  Consequently, we
36# massage the Windows line endings ('\r\n') in the output to the
37# checked-in UNIX endings ('\n').
38
39contents = test.read('commands.gypd').replace('\r', '')
40expect = test.read('commands.gypd.golden').replace('\r', '')
41if not test.match(contents, expect):
42  print "Unexpected contents of `commands.gypd'"
43  test.diff(expect, contents, 'commands.gypd ')
44  test.fail_test()
45
46test.pass_test()
47