Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: tools/isolate/merge_gyp_test.py

Issue 10027006: Rename tree_creator.py to run_test_from_archive.py (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/isolate/merge_gyp.py ('k') | tools/isolate/merge_isolate.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 import unittest
7
8 import merge_gyp
9
10
11 class MergeGyp(unittest.TestCase):
12 def test_unknown_key(self):
13 try:
14 merge_gyp.process_variables(None, {'foo': [],})
15 self.fail()
16 except AssertionError:
17 pass
18
19 def test_unknown_var(self):
20 try:
21 merge_gyp.process_variables(None, {'variables': {'foo': [],}})
22 self.fail()
23 except AssertionError:
24 pass
25
26 def test_parse_gyp_dict_empty(self):
27 f, d, o = merge_gyp.parse_gyp_dict({})
28 self.assertEquals({}, f)
29 self.assertEquals({}, d)
30 self.assertEquals(set(), o)
31
32 def test_parse_gyp_dict(self):
33 value = {
34 'variables': {
35 'isolate_files': [
36 'a',
37 ],
38 'isolate_dirs': [
39 'b',
40 ],
41 },
42 'conditions': [
43 ['OS=="atari"', {
44 'variables': {
45 'isolate_files': [
46 'c',
47 'x',
48 ],
49 'isolate_dirs': [
50 'd',
51 ],
52 },
53 }, { # else
54 'variables': {
55 'isolate_files': [
56 'e',
57 'x',
58 ],
59 'isolate_dirs': [
60 'f',
61 ],
62 },
63 }],
64 ['OS=="amiga"', {
65 'variables': {
66 'isolate_files': [
67 'g',
68 ],
69 },
70 }],
71 ['OS=="inexistent"', {
72 }],
73 ['OS=="coleco"', {
74 }, { # else
75 'variables': {
76 'isolate_dirs': [
77 'h',
78 ],
79 },
80 }],
81 ],
82 }
83 expected_files = {
84 'a': set([None]),
85 'c': set(['atari']),
86 'e': set(['!atari']),
87 'g': set(['amiga']),
88 'x': set(['!atari', 'atari']), # potential for reduction
89 }
90 expected_dirs = {
91 'b': set([None]),
92 'd': set(['atari']),
93 'f': set(['!atari']),
94 'h': set(['!coleco']),
95 }
96 # coleco is included even if only negative.
97 expected_oses = set(['atari', 'amiga', 'coleco'])
98 actual_files, actual_dirs, actual_oses = merge_gyp.parse_gyp_dict(value)
99 self.assertEquals(expected_files, actual_files)
100 self.assertEquals(expected_dirs, actual_dirs)
101 self.assertEquals(expected_oses, actual_oses)
102
103 def test_reduce_inputs(self):
104 value_files = {
105 'a': set([None]),
106 'c': set(['atari']),
107 'e': set(['!atari']),
108 'g': set(['amiga']),
109 'x': set(['!atari', 'atari']),
110 }
111 value_dirs = {
112 'b': set([None]),
113 'd': set(['atari']),
114 'f': set(['!atari']),
115 'h': set(['!coleco']),
116 }
117 value_oses = set(['atari', 'amiga', 'coleco'])
118 expected_files = {
119 'a': set([None]),
120 'c': set(['atari']),
121 'e': set(['!atari']),
122 'g': set(['amiga']),
123 'x': set([None]), # Reduced.
124 }
125 expected_dirs = {
126 'b': set([None]),
127 'd': set(['atari']),
128 'f': set(['!atari']),
129 'h': set(['!coleco']),
130 }
131 actual_files, actual_dirs = merge_gyp.reduce_inputs(
132 value_files, value_dirs, value_oses)
133 self.assertEquals(expected_files, actual_files)
134 self.assertEquals(expected_dirs, actual_dirs)
135
136 def test_convert_to_gyp(self):
137 files = {
138 'a': set([None]),
139 'x': set([None]),
140
141 'g': set(['amiga']),
142
143 'c': set(['atari']),
144 'e': set(['!atari']),
145 }
146 dirs = {
147 'b': set([None]),
148
149 'd': set(['atari']),
150 'f': set(['!atari']),
151
152 'h': set(['!coleco']),
153 }
154 expected = {
155 'variables': {
156 'isolate_dirs': ['b'],
157 'isolate_files': ['a', 'x'],
158 },
159 'conditions': [
160 ['OS=="amiga"', {
161 'variables': {
162 'isolate_files': ['g'],
163 },
164 }],
165 ['OS=="atari"', {
166 'variables': {
167 'isolate_dirs': ['d'],
168 'isolate_files': ['c'],
169 },
170 }, {
171 'variables': {
172 'isolate_dirs': ['f'],
173 'isolate_files': ['e'],
174 },
175 }],
176 ['OS=="coleco"', {
177 }, {
178 'variables': {
179 'isolate_dirs': ['h'],
180 },
181 }],
182 ],
183 }
184 self.assertEquals(expected, merge_gyp.convert_to_gyp(files, dirs))
185
186
187 if __name__ == '__main__':
188 unittest.main()
OLDNEW
« no previous file with comments | « tools/isolate/merge_gyp.py ('k') | tools/isolate/merge_isolate.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698