media/webrtc/trunk/tools/gyp/test/generator-output/gyptest-rules.py

branch
TOR_BUG_9701
changeset 14
925c144e1f1f
equal deleted inserted replaced
-1:000000000000 0:bfba38b2947d
1 #!/usr/bin/env python
2
3 # Copyright (c) 2012 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 """
8 Verifies --generator-output= behavior when using rules.
9 """
10
11 import TestGyp
12
13 # Ninja and Android don't support --generator-output.
14 test = TestGyp.TestGyp(formats=['!ninja', '!android'])
15
16 test.writable(test.workpath('rules'), False)
17
18 test.run_gyp('rules.gyp',
19 '--generator-output=' + test.workpath('gypfiles'),
20 chdir='rules')
21
22 test.writable(test.workpath('rules'), True)
23
24 test.relocate('rules', 'relocate/rules')
25 test.relocate('gypfiles', 'relocate/gypfiles')
26
27 test.writable(test.workpath('relocate/rules'), False)
28
29 test.writable(test.workpath('relocate/rules/build'), True)
30 test.writable(test.workpath('relocate/rules/subdir1/build'), True)
31 test.writable(test.workpath('relocate/rules/subdir2/build'), True)
32 test.writable(test.workpath('relocate/rules/subdir2/rules-out'), True)
33
34 test.build('rules.gyp', test.ALL, chdir='relocate/gypfiles')
35
36 expect = """\
37 Hello from program.c
38 Hello from function1.in1
39 Hello from function2.in1
40 Hello from define3.in0
41 Hello from define4.in0
42 """
43
44 if test.format == 'xcode':
45 chdir = 'relocate/rules/subdir1'
46 else:
47 chdir = 'relocate/gypfiles'
48 test.run_built_executable('program', chdir=chdir, stdout=expect)
49
50 test.must_match('relocate/rules/subdir2/rules-out/file1.out',
51 "Hello from file1.in0\n")
52 test.must_match('relocate/rules/subdir2/rules-out/file2.out',
53 "Hello from file2.in0\n")
54 test.must_match('relocate/rules/subdir2/rules-out/file3.out',
55 "Hello from file3.in1\n")
56 test.must_match('relocate/rules/subdir2/rules-out/file4.out',
57 "Hello from file4.in1\n")
58
59 test.pass_test()

mercurial