Source code
Revision control
Copy as Markdown
Other Tools
#!/usr/bin/env python
# Copyright (c) 2013 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 that Makefiles get rebuilt when a source gyp file changes and
--generator-output is used.
"""
import TestGyp
# Regenerating build files when a gyp file changes is currently only supported
# by the make generator, and --generator-output is not supported by ninja, so we
# can only test for make.
test = TestGyp.TestGyp(formats=['make'])
CHDIR='generator-output'
test.run_gyp('hello.gyp', '--generator-output=%s' % CHDIR)
test.build('hello.gyp', test.ALL, chdir=CHDIR)
test.run_built_executable('hello', stdout="Hello, world!\n", chdir=CHDIR)
# Sleep so that the changed gyp file will have a newer timestamp than the
# previously generated build files.
test.sleep()
test.write('hello.gyp', test.read('hello2.gyp'))
test.build('hello.gyp', test.ALL, chdir=CHDIR)
test.run_built_executable('hello', stdout="Hello, two!\n", chdir=CHDIR)
test.pass_test()