10ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org#!/usr/bin/env python
20ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
39be1d37a9a6561f135412db66806def9f82a29c1steveblock@chromium.org# Copyright (c) 2012 Google Inc. All rights reserved.
4df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# Use of this source code is governed by a BSD-style license that can be
5df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org# found in the LICENSE file.
6df8224662e615bd36cf8bebae8e58c017201f998sgk@chromium.org
70ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org"""
80ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org"""
90ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
100ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgimport TestGyp
110ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
120ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgtest = TestGyp.TestGyp()
130ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
140ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgtest.run_gyp('build/all.gyp', chdir='src')
150ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
16fa5b46b96b21ff75d8b6b3dacc4693b69c43654csgk@chromium.orgtest.relocate('src', 'relocate/src')
170ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
18040d50e7277c41a0b9641dc42c76be8605055637sgk@chromium.orgtest.build('build/all.gyp', test.ALL, chdir='relocate/src')
190ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
200ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgchdir = 'relocate/src/build'
210ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
221607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# The top-level Makefile is in the directory where gyp was run.
231607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp
241607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# file? What about when passing in multiple .gyp files? Would sub-project
251607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# Makefiles (see http://codereview.chromium.org/340008 comments) solve this?
26d0176c0a2a9e558662905c328c3aa93fd25bbf12bungeman@chromium.orgif test.format in ('make', 'ninja', 'cmake'):
271607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org  chdir = 'relocate/src'
281607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org
2965f1cdd22ad8f73f507077d3baab38c6314f13c8mmoss@chromium.orgif test.format == 'xcode':
300ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org  chdir = 'relocate/src/prog1'
319be1d37a9a6561f135412db66806def9f82a29c1steveblock@chromium.orgtest.run_built_executable('program1',
320ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org                          chdir=chdir,
330ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org                          stdout="Hello from prog1.c\n")
340ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
3565f1cdd22ad8f73f507077d3baab38c6314f13c8mmoss@chromium.orgif test.format == 'xcode':
360ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org  chdir = 'relocate/src/prog2'
379be1d37a9a6561f135412db66806def9f82a29c1steveblock@chromium.orgtest.run_built_executable('program2',
380ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org                          chdir=chdir,
390ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org                          stdout="Hello from prog2.c\n")
400ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org
410ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgtest.pass_test()
42