1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#!/usr/bin/env python
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Copyright (c) 2012 Google Inc. All rights reserved.
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Use of this source code is governed by a BSD-style license that can be
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# found in the LICENSE file.
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch"""
8effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochVerifies inclusion of $HOME/.gyp/include.gypi works properly with relocation
9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochand with regeneration.
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch"""
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochimport os
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochimport TestGyp
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Regenerating build files when a gyp file changes is currently only supported
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# by the make generator.
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest = TestGyp.TestGyp(formats=['make'])
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochos.environ['HOME'] = os.path.abspath('home')
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.run_gyp('all.gyp', chdir='src')
22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# After relocating, we should still be able to build (build file shouldn't
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# contain relative reference to ~/.gyp/include.gypi)
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.relocate('src', 'relocate/src')
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.build('all.gyp', test.ALL, chdir='relocate/src')
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.run_built_executable('printfoo',
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                          chdir='relocate/src',
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                          stdout='FOO is fromhome\n')
32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch# Building should notice any changes to ~/.gyp/include.gypi and regyp.
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.sleep()
35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.write('home/.gyp/include.gypi', test.read('home2/.gyp/include.gypi'))
37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.build('all.gyp', test.ALL, chdir='relocate/src')
39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.run_built_executable('printfoo',
41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                          chdir='relocate/src',
42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                          stdout='FOO is fromhome2\n')
43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
44effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochtest.pass_test()
45effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch