summaryrefslogtreecommitdiff
path: root/deps/gyp/test/defines/gyptest-defines.py
diff options
context:
space:
mode:
Diffstat (limited to 'deps/gyp/test/defines/gyptest-defines.py')
-rwxr-xr-xdeps/gyp/test/defines/gyptest-defines.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/deps/gyp/test/defines/gyptest-defines.py b/deps/gyp/test/defines/gyptest-defines.py
new file mode 100755
index 0000000000..77a3af53b9
--- /dev/null
+++ b/deps/gyp/test/defines/gyptest-defines.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2011 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 build of an executable with C++ defines.
+"""
+
+import TestGyp
+
+test = TestGyp.TestGyp()
+
+test.run_gyp('defines.gyp')
+
+expect = """\
+FOO is defined
+VALUE is 1
+2*PAREN_VALUE is 12
+"""
+
+#CMake loudly warns about passing '#' to the compiler and drops the define.
+expect_stderr = ''
+if test.format == 'cmake':
+ expect_stderr = (
+"""WARNING: Preprocessor definitions containing '#' may not be passed on the"""
+""" compiler command line because many compilers do not support it.\n"""
+"""CMake is dropping a preprocessor definition: HASH_VALUE="a#1"\n"""
+"""Consider defining the macro in a (configured) header file.\n\n""")
+else:
+ expect += """HASH_VALUE is a#1
+"""
+
+test.build('defines.gyp', stderr=expect_stderr)
+
+test.run_built_executable('defines', stdout=expect)
+
+test.pass_test()