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

Side by Side Diff: build/android/devil/android/decorators_test.py

Issue 1340603002: DeviceUtils: Make Install and PushChangedFiles respect instance retries / timeout (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: min->max Created 5 years, 3 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
« no previous file with comments | « build/android/devil/android/decorators.py ('k') | build/android/devil/android/device_utils.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 """ 5 """
6 Unit tests for decorators.py. 6 Unit tests for decorators.py.
7 """ 7 """
8 8
9 # pylint: disable=W0613 9 # pylint: disable=W0613
10 10
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 raise device_errors.CommandFailedError('testCommand failed') 216 raise device_errors.CommandFailedError('testCommand failed')
217 217
218 # pylint: disable=no-self-use 218 # pylint: disable=no-self-use
219 219
220 @decorators.WithTimeoutAndRetriesFromInstance( 220 @decorators.WithTimeoutAndRetriesFromInstance(
221 'default_timeout', 'default_retries') 221 'default_timeout', 'default_retries')
222 def alwaysReturnsTimeout(self, timeout=None, retries=None): 222 def alwaysReturnsTimeout(self, timeout=None, retries=None):
223 return timeout 223 return timeout
224 224
225 @decorators.WithTimeoutAndRetriesFromInstance( 225 @decorators.WithTimeoutAndRetriesFromInstance(
226 'default_timeout', 'default_retries', min_default_timeout=100)
227 def alwaysReturnsTimeoutWithMin(self, timeout=None, retries=None):
228 return timeout
229
230 @decorators.WithTimeoutAndRetriesFromInstance(
226 'default_timeout', 'default_retries') 231 'default_timeout', 'default_retries')
227 def alwaysReturnsRetries(self, timeout=None, retries=None): 232 def alwaysReturnsRetries(self, timeout=None, retries=None):
228 return retries 233 return retries
229 234
230 @decorators.WithTimeoutAndRetriesFromInstance( 235 @decorators.WithTimeoutAndRetriesFromInstance(
231 'default_timeout', 'default_retries') 236 'default_timeout', 'default_retries')
232 def alwaysRaisesProvidedException(self, exception, timeout=None, 237 def alwaysRaisesProvidedException(self, exception, timeout=None,
233 retries=None): 238 retries=None):
234 raise exception 239 raise exception
235 240
(...skipping 28 matching lines...) Expand all
264 269
265 def testMethodDecoratorPassesValues(self): 270 def testMethodDecoratorPassesValues(self):
266 """Tests that the method decorator passes timeout and retries kwargs.""" 271 """Tests that the method decorator passes timeout and retries kwargs."""
267 test_obj = self._MethodDecoratorTestObject( 272 test_obj = self._MethodDecoratorTestObject(
268 self, default_timeout=42, default_retries=31) 273 self, default_timeout=42, default_retries=31)
269 self.assertEquals(42, test_obj.alwaysReturnsTimeout()) 274 self.assertEquals(42, test_obj.alwaysReturnsTimeout())
270 self.assertEquals(41, test_obj.alwaysReturnsTimeout(timeout=41)) 275 self.assertEquals(41, test_obj.alwaysReturnsTimeout(timeout=41))
271 self.assertEquals(31, test_obj.alwaysReturnsRetries()) 276 self.assertEquals(31, test_obj.alwaysReturnsRetries())
272 self.assertEquals(32, test_obj.alwaysReturnsRetries(retries=32)) 277 self.assertEquals(32, test_obj.alwaysReturnsRetries(retries=32))
273 278
279 def testMethodDecoratorUsesMiniumumTimeout(self):
280 test_obj = self._MethodDecoratorTestObject(
281 self, default_timeout=42, default_retries=31)
282 self.assertEquals(100, test_obj.alwaysReturnsTimeoutWithMin())
283 self.assertEquals(41, test_obj.alwaysReturnsTimeoutWithMin(timeout=41))
284
274 def testMethodDecoratorTranslatesReraiserExceptions(self): 285 def testMethodDecoratorTranslatesReraiserExceptions(self):
275 test_obj = self._MethodDecoratorTestObject(self) 286 test_obj = self._MethodDecoratorTestObject(self)
276 287
277 exception_desc = 'Reraiser thread timeout error' 288 exception_desc = 'Reraiser thread timeout error'
278 with self.assertRaises(device_errors.CommandTimeoutError) as e: 289 with self.assertRaises(device_errors.CommandTimeoutError) as e:
279 test_obj.alwaysRaisesProvidedException( 290 test_obj.alwaysRaisesProvidedException(
280 reraiser_thread.TimeoutError(exception_desc)) 291 reraiser_thread.TimeoutError(exception_desc))
281 self.assertEquals(exception_desc, str(e.exception)) 292 self.assertEquals(exception_desc, str(e.exception))
282 293
283 if __name__ == '__main__': 294 if __name__ == '__main__':
284 unittest.main(verbosity=2) 295 unittest.main(verbosity=2)
285 296
OLDNEW
« no previous file with comments | « build/android/devil/android/decorators.py ('k') | build/android/devil/android/device_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698