Index: test/compiler-override/gyptest-compiler-global-settings.py |
diff --git a/test/compiler-override/gyptest-compiler-global-settings.py b/test/compiler-override/gyptest-compiler-global-settings.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..f4980f991d33ed190c7a87e9747ae779ffa523af |
--- /dev/null |
+++ b/test/compiler-override/gyptest-compiler-global-settings.py |
@@ -0,0 +1,48 @@ |
+#!/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 make_global_settings can be used to override the |
+compiler settings. |
+""" |
+ |
+import TestGyp |
+import os |
+import copy |
+from string import Template |
+ |
+test = TestGyp.TestGyp(formats=['ninja', 'make']) |
+ |
+gypfile = 'compiler-global-settings.gyp' |
+ |
+# TODO: test that the linker really is overridden corroectly. Currnetly the |
Nico
2012/08/13 23:14:07
typos corroectly, Currnetly
Sam Clegg
2012/08/14 21:10:32
Done.
|
+# ninja generator will always use CXX for the linker |
Nico
2012/08/13 23:14:07
For the host linker? (nit: trailing '.')
Sam Clegg
2012/08/14 21:10:32
Done.
|
+ |
+replacements = { 'PYTHON': '/usr/bin/python', 'PWD': os.getcwd()} |
+ |
+# process the .in gyp file to produce the final gyp file |
+# since we need to include absolute paths in the make_global_settings |
+# section |
+replacements['TOOLSET'] = 'target' |
+s = Template(open(gypfile + '.in').read()) |
+output = open(gypfile, 'w') |
+output.write(s.substitute(replacements)) |
+output.close() |
+ |
+test.run_gyp(gypfile) |
+test.build(gypfile) |
+test.must_contain_all_lines(test.stdout(), ['my_cc.py', 'my_cxx.py', 'FOO']) |
+ |
+# Same again but with the host toolset |
Nico
2012/08/13 23:14:07
.
Sam Clegg
2012/08/14 21:10:32
Done.
|
+replacements['TOOLSET'] = 'host' |
+s = Template(open(gypfile + '.in').read()) |
+output = open(gypfile, 'w') |
+output.write(s.substitute(replacements)) |
+output.close() |
+ |
+test.run_gyp(gypfile) |
+test.build(gypfile) |
+test.must_contain_all_lines(test.stdout(), ['my_cc.py', 'my_cxx.py', 'BAR']) |
+ |
+test.pass_test() |