media/webrtc/trunk/tools/gyp/test/cxxflags/gyptest-cxxflags.py

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rwxr-xr-x

Ignore runtime configuration files generated during quality assurance.

     1 #!/usr/bin/env python
     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.
     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 """
    12 import os
    13 import TestGyp
    15 env_stack = []
    18 def PushEnv():
    19   env_copy = os.environ.copy()
    20   env_stack.append(env_copy)
    22 def PopEnv():
    23   os.eniron=env_stack.pop()
    25 # Regenerating build files when a gyp file changes is currently only supported
    26 # by the make and Android generators.
    27 test = TestGyp.TestGyp(formats=['make', 'android'])
    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()
    39 test.build('cxxflags.gyp')
    41 expect = """\
    42 Using no optimization flag
    43 """
    44 test.run_built_executable('cxxflags', stdout=expect)
    46 test.sleep()
    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()
    58 test.build('cxxflags.gyp')
    60 expect = """\
    61 Using an optimization flag
    62 """
    63 test.run_built_executable('cxxflags', stdout=expect)
    65 test.pass_test()

mercurial