~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Source/ThirdParty/gyp/test/cxxflags/gyptest-cxxflags.py

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
 
 
3
# Copyright (c) 2010 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
Verifies build of an executable with C++ define specified by a gyp define, and
 
9
the use of the environment during regeneration when the gyp file changes.
 
10
"""
 
11
 
 
12
import os
 
13
import TestGyp
 
14
 
 
15
env_stack = []
 
16
 
 
17
 
 
18
def PushEnv():
 
19
  env_copy = os.environ.copy()
 
20
  env_stack.append(env_copy)
 
21
 
 
22
def PopEnv():
 
23
  os.eniron=env_stack.pop()
 
24
 
 
25
# Regenerating build files when a gyp file changes is currently only supported
 
26
# by the make generator.
 
27
test = TestGyp.TestGyp(formats=['make'])
 
28
 
 
29
try:
 
30
  PushEnv()
 
31
  os.environ['CXXFLAGS'] = '-O0'
 
32
  test.run_gyp('cxxflags.gyp')
 
33
finally:
 
34
  # We clear the environ after calling gyp.  When the auto-regeneration happens,
 
35
  # the same define should be reused anyway.  Reset to empty string first in
 
36
  # case the platform doesn't support unsetenv.
 
37
  PopEnv()
 
38
 
 
39
test.build('cxxflags.gyp')
 
40
 
 
41
expect = """\
 
42
Using no optimization flag
 
43
"""
 
44
test.run_built_executable('cxxflags', stdout=expect)
 
45
 
 
46
test.sleep()
 
47
 
 
48
try:
 
49
  PushEnv()
 
50
  os.environ['CXXFLAGS'] = '-O2'
 
51
  test.run_gyp('cxxflags.gyp')
 
52
finally:
 
53
  # We clear the environ after calling gyp.  When the auto-regeneration happens,
 
54
  # the same define should be reused anyway.  Reset to empty string first in
 
55
  # case the platform doesn't support unsetenv.
 
56
  PopEnv()
 
57
 
 
58
test.build('cxxflags.gyp')
 
59
 
 
60
expect = """\
 
61
Using an optimization flag
 
62
"""
 
63
test.run_built_executable('cxxflags', stdout=expect)
 
64
 
 
65
test.pass_test()