|
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 Test that environment variables are ignored when --ignore-environment is |
|
9 specified. |
|
10 """ |
|
11 |
|
12 import os |
|
13 |
|
14 import TestGyp |
|
15 |
|
16 test = TestGyp.TestGyp(format='gypd') |
|
17 |
|
18 os.environ['GYP_DEFINES'] = 'FOO=BAR' |
|
19 os.environ['GYP_GENERATORS'] = 'foo' |
|
20 os.environ['GYP_GENERATOR_FLAGS'] = 'genflag=foo' |
|
21 os.environ['GYP_GENERATOR_OUTPUT'] = 'somedir' |
|
22 |
|
23 expect = test.read('commands.gyp.ignore-env.stdout').replace('\r\n', '\n') |
|
24 |
|
25 test.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 |
|
39 contents = test.read('commands.gypd').replace('\r', '') |
|
40 expect = test.read('commands.gypd.golden').replace('\r', '') |
|
41 if not test.match(contents, expect): |
|
42 print "Unexpected contents of `commands.gypd'" |
|
43 test.diff(expect, contents, 'commands.gypd ') |
|
44 test.fail_test() |
|
45 |
|
46 test.pass_test() |