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