| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 
|  | 2 # Use of this source code is governed by a BSD-style license that can be | 
|  | 3 # found in the LICENSE file. | 
|  | 4 | 
|  | 5 """Unittests for timeout_and_retry.py.""" | 
|  | 6 | 
|  | 7 import unittest | 
|  | 8 | 
|  | 9 import reraiser_thread | 
|  | 10 import timeout_retry | 
|  | 11 | 
|  | 12 | 
|  | 13 class TestException(Exception): | 
|  | 14   pass | 
|  | 15 | 
|  | 16 | 
|  | 17 def _NeverEnding(tries=[0]): | 
|  | 18   tries[0] += 1 | 
|  | 19   while True: | 
|  | 20     pass | 
|  | 21 | 
|  | 22 | 
|  | 23 def _CountTries(tries): | 
|  | 24   tries[0] += 1 | 
|  | 25   raise TestException | 
|  | 26 | 
|  | 27 | 
|  | 28 class TestRun(unittest.TestCase): | 
|  | 29   """Tests for timeout_retry.Run.""" | 
|  | 30 | 
|  | 31   def testRun(self): | 
|  | 32     self.assertTrue(timeout_retry.Run( | 
|  | 33         lambda x: x, 30, 3, [True], {})) | 
|  | 34 | 
|  | 35   def testTimeout(self): | 
|  | 36     tries = [0] | 
|  | 37     self.assertRaises(reraiser_thread.TimeoutError, | 
|  | 38         timeout_retry.Run, lambda: _NeverEnding(tries), 0, 3) | 
|  | 39     self.assertEqual(tries[0], 4) | 
|  | 40 | 
|  | 41   def testRetries(self): | 
|  | 42     tries = [0] | 
|  | 43     self.assertRaises(TestException, | 
|  | 44         timeout_retry.Run, lambda: _CountTries(tries), 30, 3) | 
|  | 45     self.assertEqual(tries[0], 4) | 
|  | 46 | 
|  | 47   def testReturnValue(self): | 
|  | 48     self.assertTrue(timeout_retry.Run(lambda: True, 30, 3)) | 
|  | 49 | 
|  | 50 | 
|  | 51 if __name__ == '__main__': | 
|  | 52   unittest.main() | 
| OLD | NEW | 
|---|