mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
#!/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++ define specified by a gyp define, and
|
|
the use of the environment during regeneration when the gyp file changes.
|
|
"""
|
|
|
|
import os
|
|
import TestGyp
|
|
|
|
# Regenerating build files when a gyp file changes is currently only supported
|
|
# by the make generator.
|
|
test = TestGyp.TestGyp(formats=['make'])
|
|
|
|
try:
|
|
os.environ['GYP_DEFINES'] = 'value=50'
|
|
test.run_gyp('defines.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.
|
|
os.environ['GYP_DEFINES'] = ''
|
|
del os.environ['GYP_DEFINES']
|
|
|
|
test.build('defines.gyp')
|
|
|
|
expect = """\
|
|
FOO is defined
|
|
VALUE is 1
|
|
2*PAREN_VALUE is 12
|
|
"""
|
|
test.run_built_executable('defines', stdout=expect)
|
|
|
|
# Sleep so that the changed gyp file will have a newer timestamp than the
|
|
# previously generated build files.
|
|
test.sleep()
|
|
test.write('defines.gyp', test.read('defines-env.gyp'))
|
|
|
|
test.build('defines.gyp', test.ALL)
|
|
|
|
expect = """\
|
|
VALUE is 50
|
|
"""
|
|
test.run_built_executable('defines', stdout=expect)
|
|
|
|
test.pass_test()
|
|
|