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