| Index: test/cflags/gyptest-cflags.py
|
| diff --git a/test/cflags/gyptest-cflags.py b/test/cflags/gyptest-cflags.py
|
| index f897a700af2fce1639e2ae35aa6ff80fd28931c0..0a87ed871bec685d7606025335c2b34a6b0ad78f 100755
|
| --- a/test/cflags/gyptest-cflags.py
|
| +++ b/test/cflags/gyptest-cflags.py
|
| @@ -5,41 +5,25 @@
|
| # 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.
|
| +Verifies the use of the environment during regeneration when the gyp file
|
| +changes, specifically via build of an executable with C preprocessor
|
| +definition specified by CFLAGS.
|
| +
|
| +In this test, gyp and build both run in same local environment.
|
| """
|
|
|
| -import os
|
| -import sys
|
| import TestGyp
|
|
|
| -env_stack = []
|
| -
|
| -
|
| -def PushEnv():
|
| - env_copy = os.environ.copy()
|
| - env_stack.append(env_copy)
|
| -
|
| -def PopEnv():
|
| - os.environ.clear()
|
| - os.environ.update(env_stack.pop())
|
| -
|
| -formats = ['make', 'ninja']
|
| +# CPPFLAGS works in ninja but not make; CFLAGS works in both
|
| +FORMATS = ('make', 'ninja')
|
|
|
| -test = TestGyp.TestGyp(formats=formats)
|
| +test = TestGyp.TestGyp(formats=FORMATS)
|
|
|
| -try:
|
| - PushEnv()
|
| - os.environ['CFLAGS'] = ''
|
| - os.environ['GYP_CROSSCOMPILE'] = '1'
|
| +# First set CFLAGS to blank in case the platform doesn't support unsetenv.
|
| +with TestGyp.LocalEnv({'CFLAGS': '',
|
| + 'GYP_CROSSCOMPILE': '1'}):
|
| test.run_gyp('cflags.gyp')
|
| test.build('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()
|
| -
|
|
|
| expect = """FOO not defined\n"""
|
| test.run_built_executable('cflags', stdout=expect)
|
| @@ -47,18 +31,10 @@ test.run_built_executable('cflags_host', stdout=expect)
|
|
|
| test.sleep()
|
|
|
| -try:
|
| - PushEnv()
|
| - os.environ['CFLAGS'] = '-DFOO=1'
|
| - os.environ['GYP_CROSSCOMPILE'] = '1'
|
| +with TestGyp.LocalEnv({'CFLAGS': '-DFOO=1',
|
| + 'GYP_CROSSCOMPILE': '1'}):
|
| test.run_gyp('cflags.gyp')
|
| test.build('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()
|
| -
|
|
|
| expect = """FOO defined\n"""
|
| test.run_built_executable('cflags', stdout=expect)
|
| @@ -69,34 +45,18 @@ test.run_built_executable('cflags_host', stdout=expect)
|
|
|
| test.sleep()
|
|
|
| -try:
|
| - PushEnv()
|
| - os.environ['CFLAGS'] = ''
|
| +with TestGyp.LocalEnv({'CFLAGS': ''}):
|
| test.run_gyp('cflags.gyp')
|
| test.build('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()
|
| -
|
|
|
| expect = """FOO not defined\n"""
|
| test.run_built_executable('cflags', stdout=expect)
|
|
|
| test.sleep()
|
|
|
| -try:
|
| - PushEnv()
|
| - os.environ['CFLAGS'] = '-DFOO=1'
|
| +with TestGyp.LocalEnv({'CFLAGS': '-DFOO=1'}):
|
| test.run_gyp('cflags.gyp')
|
| test.build('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()
|
| -
|
|
|
| expect = """FOO defined\n"""
|
| test.run_built_executable('cflags', stdout=expect)
|
|
|