• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2
3# Copyright (c) 2011 Google Inc. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7"""
8Verifies simple rules when using an explicit build target of 'all'.
9"""
10
11import sys
12
13if sys.platform == 'win32':
14  print "This test is currently disabled: https://crbug.com/483696."
15  sys.exit(0)
16
17
18import TestGyp
19
20test = TestGyp.TestGyp()
21
22test.run_gyp('no_action_with_rules_fails.gyp', chdir='src/noaction', status=1,
23             stderr=None)
24
25test.run_gyp('actions.gyp',
26             '-G', 'xcode_ninja_target_pattern=^pull_in_all_actions$',
27             chdir='src')
28
29test.relocate('src', 'relocate/src')
30
31test.build('actions.gyp', test.ALL, chdir='relocate/src')
32
33expect = """\
34Hello from program.c
35Hello from function1.in
36Hello from function2.in
37"""
38
39if test.format == 'xcode':
40  chdir = 'relocate/src/subdir1'
41else:
42  chdir = 'relocate/src'
43test.run_built_executable('program', chdir=chdir, stdout=expect)
44
45expect = """\
46Hello from program.c
47Hello from function3.in
48"""
49
50if test.format == 'xcode':
51  chdir = 'relocate/src/subdir3'
52else:
53  chdir = 'relocate/src'
54test.run_built_executable('program2', chdir=chdir, stdout=expect)
55
56test.must_match('relocate/src/subdir2/file1.out', 'Hello from file1.in\n')
57test.must_match('relocate/src/subdir2/file2.out', 'Hello from file2.in\n')
58
59test.must_match('relocate/src/subdir2/file1.out2', 'Hello from file1.in\n')
60test.must_match('relocate/src/subdir2/file2.out2', 'Hello from file2.in\n')
61
62test.must_match('relocate/src/subdir2/file1.out4', 'Hello from file1.in\n')
63test.must_match('relocate/src/subdir2/file2.out4', 'Hello from file2.in\n')
64test.must_match('relocate/src/subdir2/file1.copy', 'Hello from file1.in\n')
65
66test.must_match('relocate/src/external/file1.external_rules.out',
67                'Hello from file1.in\n')
68test.must_match('relocate/src/external/file2.external_rules.out',
69                'Hello from file2.in\n')
70
71expect = """\
72Hello from program.c
73Got 41.
74"""
75
76if test.format == 'xcode':
77  chdir = 'relocate/src/subdir4'
78else:
79  chdir = 'relocate/src'
80test.run_built_executable('program4', chdir=chdir, stdout=expect)
81
82test.pass_test()
83