summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py')
-rw-r--r--src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py b/src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py
new file mode 100644
index 0000000..acc424a
--- /dev/null
+++ b/src/3rdparty/webkit/Source/ThirdParty/gyp/test/cflags/gyptest-cflags.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2010 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++ define specified by a gyp define, and
+the use of the environment during regeneration when the gyp file changes.
+"""
+
+import os
+import TestGyp
+
+env_stack = []
+
+
+def PushEnv():
+ env_copy = os.environ.copy()
+ env_stack.append(env_copy)
+
+def PopEnv():
+ os.eniron=env_stack.pop()
+
+# Regenerating build files when a gyp file changes is currently only supported
+# by the make generator.
+test = TestGyp.TestGyp(formats=['make'])
+
+try:
+ PushEnv()
+ os.environ['CFLAGS'] = '-O0'
+ test.run_gyp('cflags.gyp')
+finally:
+ # We clear the environ after calling gyp. When the auto-regeneration happens,
+ # the same define should be reused anyway. Reset to empty string first in
+ # case the platform doesn't support unsetenv.
+ PopEnv()
+
+test.build('cflags.gyp')
+
+expect = """\
+Using no optimization flag
+"""
+test.run_built_executable('cflags', stdout=expect)
+
+test.sleep()
+
+try:
+ PushEnv()
+ os.environ['CFLAGS'] = '-O2'
+ test.run_gyp('cflags.gyp')
+finally:
+ # We clear the environ after calling gyp. When the auto-regeneration happens,
+ # the same define should be reused anyway. Reset to empty string first in
+ # case the platform doesn't support unsetenv.
+ PopEnv()
+
+test.build('cflags.gyp')
+
+expect = """\
+Using an optimization flag
+"""
+test.run_built_executable('cflags', stdout=expect)
+
+test.pass_test()