145a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org#!/usr/bin/env python 245a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 387e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.com# Copyright (c) 2011 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 745a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org""" 845a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgVerifies simple rules when using an explicit build target of 'all'. 945a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org""" 1045a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 1145a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgimport TestGyp 1245a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 1345a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgtest = TestGyp.TestGyp() 1445a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 15952c8b185cc8152c887e04a4af9e6f1f6a79f75fthakis@chromium.orgtest.run_gyp('no_action_with_rules_fails.gyp', chdir='src/noaction', status=1, 16952c8b185cc8152c887e04a4af9e6f1f6a79f75fthakis@chromium.org stderr=None) 17952c8b185cc8152c887e04a4af9e6f1f6a79f75fthakis@chromium.org 1845a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgtest.run_gyp('actions.gyp', chdir='src') 1945a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 20fa5b46b96b21ff75d8b6b3dacc4693b69c43654csgk@chromium.orgtest.relocate('src', 'relocate/src') 2145a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 22040d50e7277c41a0b9641dc42c76be8605055637sgk@chromium.orgtest.build('actions.gyp', test.ALL, chdir='relocate/src') 2345a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 2445a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgexpect = """\ 2545a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgHello from program.c 2645a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgHello from function1.in 2745a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgHello from function2.in 2845a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org""" 2945a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 3065f1cdd22ad8f73f507077d3baab38c6314f13c8mmoss@chromium.orgif test.format == 'xcode': 3145a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org chdir = 'relocate/src/subdir1' 3245a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgelse: 3345a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org chdir = 'relocate/src' 3445a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgtest.run_built_executable('program', chdir=chdir, stdout=expect) 3545a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 36aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgexpect = """\ 37aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgHello from program.c 38aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgHello from function3.in 39aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.org""" 40aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.org 41aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgif test.format == 'xcode': 42aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.org chdir = 'relocate/src/subdir3' 43aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgelse: 44aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.org chdir = 'relocate/src' 45aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.orgtest.run_built_executable('program2', chdir=chdir, stdout=expect) 46aa7a2b2719790ca50ac51b8a5b47f460090f7e22piman@chromium.org 4787e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/subdir2/file1.out', 'Hello from file1.in\n') 4887e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/subdir2/file2.out', 'Hello from file2.in\n') 4945a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.org 5087e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/subdir2/file1.out2', 'Hello from file1.in\n') 5187e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/subdir2/file2.out2', 'Hello from file2.in\n') 5287e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.com 53dbcdbde823d2f442ebbd3fd56da26494e0370c19scottmg@chromium.orgtest.must_match('relocate/src/subdir2/file1.out4', 'Hello from file1.in\n') 54dbcdbde823d2f442ebbd3fd56da26494e0370c19scottmg@chromium.orgtest.must_match('relocate/src/subdir2/file2.out4', 'Hello from file2.in\n') 55dbcdbde823d2f442ebbd3fd56da26494e0370c19scottmg@chromium.orgtest.must_match('relocate/src/subdir2/file1.copy', 'Hello from file1.in\n') 56dbcdbde823d2f442ebbd3fd56da26494e0370c19scottmg@chromium.org 5787e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/external/file1.external_rules.out', 5887e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.com 'Hello from file1.in\n') 5987e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.comtest.must_match('relocate/src/external/file2.external_rules.out', 6087e482822c1ddbbb9397e9aa38f0af6e9f07cd41bradnelson@google.com 'Hello from file2.in\n') 615bff43ab0cb11dfc9be2f7a1f8da961c5ff35c92bradnelson@google.com 627510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgexpect = """\ 637510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgHello from program.c 647510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgGot 41. 657510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.org""" 667510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.org 677510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgif test.format == 'xcode': 687510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.org chdir = 'relocate/src/subdir4' 697510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgelse: 707510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.org chdir = 'relocate/src' 717510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.orgtest.run_built_executable('program4', chdir=chdir, stdout=expect) 727510724f34edeb0f2ecdbff383bc273147b82ad4hclam@chromium.org 7345a90d82e8c974fb09788af03418fccf97e03f29sgk@chromium.orgtest.pass_test() 74