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 16040d50e7277c41a0b9641dc42c76be8605055637sgk@chromium.orgtest.build('build/all.gyp', test.ALL, chdir='src') 170ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org 180ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgchdir = 'src/build' 190ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org 201607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# The top-level Makefile is in the directory where gyp was run. 211607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp 221607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# file? What about when passing in multiple .gyp files? Would sub-project 231607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org# Makefiles (see http://codereview.chromium.org/340008 comments) solve this? 24d0176c0a2a9e558662905c328c3aa93fd25bbf12bungeman@chromium.orgif test.format in ('make', 'ninja', 'cmake'): 251607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org chdir = 'src' 261607fbedc64b4ef360ae764a5046ffc2a5eb308fmmoss@chromium.org 2765f1cdd22ad8f73f507077d3baab38c6314f13c8mmoss@chromium.orgif test.format == 'xcode': 280ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org chdir = 'src/prog1' 299be1d37a9a6561f135412db66806def9f82a29c1steveblock@chromium.orgtest.run_built_executable('program1', 300ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org chdir=chdir, 310ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org stdout="Hello from prog1.c\n") 320ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org 3365f1cdd22ad8f73f507077d3baab38c6314f13c8mmoss@chromium.orgif test.format == 'xcode': 340ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org chdir = 'src/prog2' 359be1d37a9a6561f135412db66806def9f82a29c1steveblock@chromium.orgtest.run_built_executable('program2', 360ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org chdir=chdir, 370ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org stdout="Hello from prog2.c\n") 380ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.org 390ad33ddd836e7f81f6e7545e4970db61a6dfe9d0sgk@chromium.orgtest.pass_test() 40