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

Side by Side Diff: tools/telemetry/catapult_base/dependency_manager/dependency_info_unittest.py

Issue 1391403003: Add priority groups to local paths in the dependency manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import unittest 5 import unittest
6 6
7 from catapult_base.dependency_manager import dependency_info 7 from catapult_base.dependency_manager import dependency_info
8 8
9 class DependencyInfoTest(unittest.TestCase): 9 class DependencyInfoTest(unittest.TestCase):
10 def testInitRequiredInfo(self): 10 def testInitRequiredInfo(self):
(...skipping 12 matching lines...) Expand all
23 self.assertFalse(empty_di.cs_hash) 23 self.assertFalse(empty_di.cs_hash)
24 self.assertFalse(empty_di.download_path) 24 self.assertFalse(empty_di.download_path)
25 self.assertFalse(empty_di.cs_remote_path) 25 self.assertFalse(empty_di.cs_remote_path)
26 self.assertFalse(empty_di.local_paths) 26 self.assertFalse(empty_di.local_paths)
27 self.assertEqual('dep', empty_di.dependency) 27 self.assertEqual('dep', empty_di.dependency)
28 self.assertEqual('plat', empty_di.platform) 28 self.assertEqual('plat', empty_di.platform)
29 self.assertEqual(['config_file'], empty_di.config_files) 29 self.assertEqual(['config_file'], empty_di.config_files)
30 30
31 def testInitLocalPaths(self): 31 def testInitLocalPaths(self):
32 dep_info = dependency_info.DependencyInfo( 32 dep_info = dependency_info.DependencyInfo(
33 'dep', 'platform', 'config_file', local_paths=['path0', 'path1']) 33 'dep', 'platform', 'config_file',
34 local_paths=['path0', ['path1', 'path2']])
34 self.assertEqual('dep', dep_info.dependency) 35 self.assertEqual('dep', dep_info.dependency)
35 self.assertEqual('platform', dep_info.platform) 36 self.assertEqual('platform', dep_info.platform)
36 self.assertEqual(['config_file'], dep_info.config_files) 37 self.assertEqual(['config_file'], dep_info.config_files)
37 self.assertEqual(['path0', 'path1'], dep_info.local_paths) 38 self.assertEqual([['path0'], ['path1', 'path2']], dep_info.local_paths)
38 self.assertFalse(dep_info.version_in_cs) 39 self.assertFalse(dep_info.version_in_cs)
39 self.assertFalse(dep_info.cs_hash) 40 self.assertFalse(dep_info.cs_hash)
40 self.assertFalse(dep_info.cs_bucket) 41 self.assertFalse(dep_info.cs_bucket)
41 self.assertFalse(dep_info.cs_remote_path) 42 self.assertFalse(dep_info.cs_remote_path)
42 self.assertFalse(dep_info.download_path) 43 self.assertFalse(dep_info.download_path)
43 44
44 def testInitMinimumCloudStorageInfo(self): 45 def testInitMinimumCloudStorageInfo(self):
45 # Must specify cloud storage information atomically. 46 # Must specify cloud storage information atomically.
46 self.assertRaises(ValueError, dependency_info.DependencyInfo, 'dep', 'plat', 47 self.assertRaises(ValueError, dependency_info.DependencyInfo, 'dep', 'plat',
47 'config_file', cs_bucket='cs_b') 48 'config_file', cs_bucket='cs_b')
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 cs_remote_path='cs_remote_path', version_in_cs='version_in_cs', 115 cs_remote_path='cs_remote_path', version_in_cs='version_in_cs',
115 local_paths=['path']) 116 local_paths=['path'])
116 self.assertEqual('dep', dep_info.dependency) 117 self.assertEqual('dep', dep_info.dependency)
117 self.assertEqual('platform', dep_info.platform) 118 self.assertEqual('platform', dep_info.platform)
118 self.assertEqual(['config_file'], dep_info.config_files) 119 self.assertEqual(['config_file'], dep_info.config_files)
119 self.assertEqual('cs_hash', dep_info.cs_hash) 120 self.assertEqual('cs_hash', dep_info.cs_hash)
120 self.assertEqual('cs_bucket', dep_info.cs_bucket) 121 self.assertEqual('cs_bucket', dep_info.cs_bucket)
121 self.assertEqual('cs_remote_path', dep_info.cs_remote_path) 122 self.assertEqual('cs_remote_path', dep_info.cs_remote_path)
122 self.assertEqual('download_path', dep_info.download_path) 123 self.assertEqual('download_path', dep_info.download_path)
123 self.assertEqual('version_in_cs', dep_info.version_in_cs) 124 self.assertEqual('version_in_cs', dep_info.version_in_cs)
124 self.assertEqual(['path'], dep_info.local_paths) 125 self.assertEqual([['path']], dep_info.local_paths)
125 126
126 def testInitCloudStorageInfo(self): 127 def testInitCloudStorageInfo(self):
127 dep_info = dependency_info.DependencyInfo( 128 dep_info = dependency_info.DependencyInfo(
128 'dep', 'platform', 'config_file', cs_bucket='cs_bucket', 129 'dep', 'platform', 'config_file', cs_bucket='cs_bucket',
129 cs_hash='cs_hash', download_path='download_path', 130 cs_hash='cs_hash', download_path='download_path',
130 cs_remote_path='cs_remote_path') 131 cs_remote_path='cs_remote_path')
131 self.assertEqual('dep', dep_info.dependency) 132 self.assertEqual('dep', dep_info.dependency)
132 self.assertEqual('platform', dep_info.platform) 133 self.assertEqual('platform', dep_info.platform)
133 self.assertEqual(['config_file'], dep_info.config_files) 134 self.assertEqual(['config_file'], dep_info.config_files)
134 self.assertEqual('cs_hash', dep_info.cs_hash) 135 self.assertEqual('cs_hash', dep_info.cs_hash)
135 self.assertEqual('cs_bucket', dep_info.cs_bucket) 136 self.assertEqual('cs_bucket', dep_info.cs_bucket)
136 self.assertEqual('cs_remote_path', dep_info.cs_remote_path) 137 self.assertEqual('cs_remote_path', dep_info.cs_remote_path)
137 self.assertEqual('download_path', dep_info.download_path) 138 self.assertEqual('download_path', dep_info.download_path)
138 self.assertFalse(dep_info.version_in_cs) 139 self.assertFalse(dep_info.version_in_cs)
139 self.assertFalse(dep_info.local_paths) 140 self.assertFalse(dep_info.local_paths)
140 141
141 dep_info = dependency_info.DependencyInfo( 142 dep_info = dependency_info.DependencyInfo(
142 'dep', 'platform', 'config_file', cs_bucket='cs_bucket', 143 'dep', 'platform', 'config_file', cs_bucket='cs_bucket',
143 cs_hash='cs_hash', download_path='download_path', 144 cs_hash='cs_hash', download_path='download_path',
144 cs_remote_path='cs_remote_path', local_paths=['path']) 145 cs_remote_path='cs_remote_path', local_paths=['path'])
145 self.assertEqual('dep', dep_info.dependency) 146 self.assertEqual('dep', dep_info.dependency)
146 self.assertEqual('platform', dep_info.platform) 147 self.assertEqual('platform', dep_info.platform)
147 self.assertEqual(['config_file'], dep_info.config_files) 148 self.assertEqual(['config_file'], dep_info.config_files)
148 self.assertEqual('cs_hash', dep_info.cs_hash) 149 self.assertEqual('cs_hash', dep_info.cs_hash)
149 self.assertEqual('cs_bucket', dep_info.cs_bucket) 150 self.assertEqual('cs_bucket', dep_info.cs_bucket)
150 self.assertEqual('cs_remote_path', dep_info.cs_remote_path) 151 self.assertEqual('cs_remote_path', dep_info.cs_remote_path)
151 self.assertEqual('download_path', dep_info.download_path) 152 self.assertEqual('download_path', dep_info.download_path)
152 self.assertFalse(dep_info.version_in_cs) 153 self.assertFalse(dep_info.version_in_cs)
153 self.assertEqual(['path'], dep_info.local_paths) 154 self.assertEqual([['path']], dep_info.local_paths)
154 155
155 def testInitAllInfo(self): 156 def testInitAllInfo(self):
156 dep_info = dependency_info.DependencyInfo( 157 dep_info = dependency_info.DependencyInfo(
157 'dep', 'platform', 'config_file', cs_bucket='cs_bucket', 158 'dep', 'platform', 'config_file', cs_bucket='cs_bucket',
158 cs_hash='cs_hash', download_path='download_path', 159 cs_hash='cs_hash', download_path='download_path',
159 cs_remote_path='cs_remote_path', local_paths=['path0', 'path1']) 160 cs_remote_path='cs_remote_path',
161 local_paths=[['path0', 'path1'], 'path2'])
160 self.assertEqual('dep', dep_info.dependency) 162 self.assertEqual('dep', dep_info.dependency)
161 self.assertEqual('platform', dep_info.platform) 163 self.assertEqual('platform', dep_info.platform)
162 self.assertEqual(['config_file'], dep_info.config_files) 164 self.assertEqual(['config_file'], dep_info.config_files)
163 self.assertEqual('cs_hash', dep_info.cs_hash) 165 self.assertEqual('cs_hash', dep_info.cs_hash)
164 self.assertEqual('cs_bucket', dep_info.cs_bucket) 166 self.assertEqual('cs_bucket', dep_info.cs_bucket)
165 self.assertEqual('cs_remote_path', dep_info.cs_remote_path) 167 self.assertEqual('cs_remote_path', dep_info.cs_remote_path)
166 self.assertEqual('download_path', dep_info.download_path) 168 self.assertEqual('download_path', dep_info.download_path)
167 self.assertEqual(['path0', 'path1'], dep_info.local_paths) 169 self.assertEqual([['path0', 'path1'], ['path2']], dep_info.local_paths)
168 self.assertFalse(dep_info.version_in_cs) 170 self.assertFalse(dep_info.version_in_cs)
169 171
170 dep_info = dependency_info.DependencyInfo( 172 dep_info = dependency_info.DependencyInfo(
171 'dep', 'platform', 'config_file', cs_bucket='cs_bucket', 173 'dep', 'platform', 'config_file', cs_bucket='cs_bucket',
172 cs_hash='cs_hash', download_path='download_path', 174 cs_hash='cs_hash', download_path='download_path',
173 cs_remote_path='cs_remote_path', version_in_cs='version_in_cs', 175 cs_remote_path='cs_remote_path', version_in_cs='version_in_cs',
174 local_paths=['path0', 'path1']) 176 local_paths=[['path0', 'path1'], 'path2'])
175 self.assertEqual('dep', dep_info.dependency) 177 self.assertEqual('dep', dep_info.dependency)
176 self.assertEqual('platform', dep_info.platform) 178 self.assertEqual('platform', dep_info.platform)
177 self.assertEqual(['config_file'], dep_info.config_files) 179 self.assertEqual(['config_file'], dep_info.config_files)
178 self.assertEqual('cs_hash', dep_info.cs_hash) 180 self.assertEqual('cs_hash', dep_info.cs_hash)
179 self.assertEqual('cs_bucket', dep_info.cs_bucket) 181 self.assertEqual('cs_bucket', dep_info.cs_bucket)
180 self.assertEqual('cs_remote_path', dep_info.cs_remote_path) 182 self.assertEqual('cs_remote_path', dep_info.cs_remote_path)
181 self.assertEqual('download_path', dep_info.download_path) 183 self.assertEqual('download_path', dep_info.download_path)
182 self.assertEqual('version_in_cs', dep_info.version_in_cs) 184 self.assertEqual('version_in_cs', dep_info.version_in_cs)
183 self.assertEqual(['path0', 'path1'], dep_info.local_paths) 185 self.assertEqual([['path0', 'path1'], ['path2']], dep_info.local_paths)
184 186
185 187
186 def testUpdateRequiredArgsConflicts(self): 188 def testUpdateRequiredArgsConflicts(self):
187 dep_info1 = dependency_info.DependencyInfo( 189 dep_info1 = dependency_info.DependencyInfo(
188 'dep1', 'platform1', 'config_file1', local_paths=['path0', 'path1']) 190 'dep1', 'platform1', 'config_file1', local_paths=['path0', 'path1'])
189 dep_info2 = dependency_info.DependencyInfo( 191 dep_info2 = dependency_info.DependencyInfo(
190 'dep1', 'platform2', 'config_file2', local_paths=['path0', 'path2']) 192 'dep1', 'platform2', 'config_file2', local_paths=['path0', 'path2'])
191 dep_info3 = dependency_info.DependencyInfo( 193 dep_info3 = dependency_info.DependencyInfo(
192 'dep2', 'platform1', 'config_file3', local_paths=['path0', 'path3']) 194 'dep2', 'platform1', 'config_file3', local_paths=['path0', 'path3'])
193 self.assertRaises(ValueError, dep_info1.Update, dep_info2) 195 self.assertRaises(ValueError, dep_info1.Update, dep_info2)
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 dep_info4 = dependency_info.DependencyInfo( 282 dep_info4 = dependency_info.DependencyInfo(
281 'dep1', 'platform1', 'config_file4', cs_bucket='cs_bucket', 283 'dep1', 'platform1', 'config_file4', cs_bucket='cs_bucket',
282 cs_hash='cs_hash', download_path='download_path', 284 cs_hash='cs_hash', download_path='download_path',
283 cs_remote_path='cs_remote_path', local_paths=['path4']) 285 cs_remote_path='cs_remote_path', local_paths=['path4'])
284 286
285 dep_info1.Update(dep_info2) 287 dep_info1.Update(dep_info2)
286 self.assertEqual('cs_bucket', dep_info1.cs_bucket) 288 self.assertEqual('cs_bucket', dep_info1.cs_bucket)
287 self.assertEqual('cs_hash', dep_info1.cs_hash) 289 self.assertEqual('cs_hash', dep_info1.cs_hash)
288 self.assertEqual('download_path', dep_info1.download_path) 290 self.assertEqual('download_path', dep_info1.download_path)
289 self.assertEqual('cs_remote_path', dep_info1.cs_remote_path) 291 self.assertEqual('cs_remote_path', dep_info1.cs_remote_path)
290 self.assertEqual(['path1', 'path2'], dep_info1.local_paths) 292 self.assertEqual([['path1'], ['path2']], dep_info1.local_paths)
291 293
292 dep_info1.Update(dep_info3) 294 dep_info1.Update(dep_info3)
293 self.assertEqual('cs_bucket', dep_info1.cs_bucket) 295 self.assertEqual('cs_bucket', dep_info1.cs_bucket)
294 self.assertEqual('cs_hash', dep_info1.cs_hash) 296 self.assertEqual('cs_hash', dep_info1.cs_hash)
295 self.assertEqual('download_path', dep_info1.download_path) 297 self.assertEqual('download_path', dep_info1.download_path)
296 self.assertEqual('cs_remote_path', dep_info1.cs_remote_path) 298 self.assertEqual('cs_remote_path', dep_info1.cs_remote_path)
297 self.assertEqual(['path1', 'path2', 'path3'], dep_info1.local_paths) 299 self.assertEqual([['path1'], ['path2'], ['path3']], dep_info1.local_paths)
298 300
299 self.assertRaises(ValueError, dep_info1.Update, dep_info4) 301 self.assertRaises(ValueError, dep_info1.Update, dep_info4)
300 302
301 def testAppendConflictingLocalFiles(self): 303 def testAppendConflictingLocalFiles(self):
302 dep_info1 = dependency_info.DependencyInfo( 304 dep_info1 = dependency_info.DependencyInfo(
303 'dep1', 'platform1', 'config_file1', 305 'dep1', 'platform1', 'config_file1',
304 local_paths=['path0', 'path1', 'path3', 'path5', 'path6']) 306 local_paths=['path0', ['path1', 'path3'], 'path5', 'path6'])
305 dep_info2 = dependency_info.DependencyInfo( 307 dep_info2 = dependency_info.DependencyInfo(
306 'dep1', 'platform1', 'config_file2', 308 'dep1', 'platform1', 'config_file2',
307 local_paths=['path0', 'path2', 'path4', 'path5']) 309 local_paths=[['path0', 'path2'], 'path4', 'path5'])
310 dep_info3 = dependency_info.DependencyInfo(
311 'dep1', 'platform1', 'config_file3',
312 local_paths=[['path1', 'path2', 'path4', 'path7', 'path8'], 'path6',
313 'path9'])
308 314
309 expected_local_paths = ['path0', 'path1', 'path3', 'path5', 'path6', 315 expected_local_paths_1 = [['path0'], ['path1', 'path3'], ['path5'],
310 'path2', 'path4'] 316 ['path6'], ['path2'], ['path4']]
317 expected_local_paths_2 = [
318 ['path0'], ['path1', 'path3'], ['path5'], ['path6'], ['path2'],
319 ['path4'], ['path7', 'path8'], ['path9']]
320
311 dep_info1.Update(dep_info2) 321 dep_info1.Update(dep_info2)
312 self.assertEquals(expected_local_paths, dep_info1.local_paths) 322 self.assertEquals(expected_local_paths_1, dep_info1.local_paths)
323 dep_info1.Update(dep_info3)
324 self.assertEquals(expected_local_paths_2, dep_info1.local_paths)
313 325
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698