| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 """Unittests for reraiser_thread.py.""" | 5 """Unittests for reraiser_thread.py.""" |
| 6 | 6 |
| 7 import threading |
| 7 import unittest | 8 import unittest |
| 8 | 9 |
| 9 import reraiser_thread | 10 import reraiser_thread |
| 11 import watchdog_timer |
| 10 | 12 |
| 11 | 13 |
| 12 class TestException(Exception): | 14 class TestException(Exception): |
| 13 pass | 15 pass |
| 14 | 16 |
| 15 | 17 |
| 16 class TestReraiserThread(unittest.TestCase): | 18 class TestReraiserThread(unittest.TestCase): |
| 17 """Tests for reraiser_thread.ReraiserThread.""" | 19 """Tests for reraiser_thread.ReraiserThread.""" |
| 18 def testNominal(self): | 20 def testNominal(self): |
| 19 result = [None, None] | 21 result = [None, None] |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 | 70 |
| 69 def testJoinRaise(self): | 71 def testJoinRaise(self): |
| 70 def f(): | 72 def f(): |
| 71 raise TestException | 73 raise TestException |
| 72 group = reraiser_thread.ReraiserThreadGroup( | 74 group = reraiser_thread.ReraiserThreadGroup( |
| 73 [reraiser_thread.ReraiserThread(f) for _ in xrange(5)]) | 75 [reraiser_thread.ReraiserThread(f) for _ in xrange(5)]) |
| 74 group.StartAll() | 76 group.StartAll() |
| 75 with self.assertRaises(TestException): | 77 with self.assertRaises(TestException): |
| 76 group.JoinAll() | 78 group.JoinAll() |
| 77 | 79 |
| 80 def testJoinTimeout(self): |
| 81 def f(): |
| 82 pass |
| 83 event = threading.Event() |
| 84 def g(): |
| 85 event.wait() |
| 86 group = reraiser_thread.ReraiserThreadGroup( |
| 87 [reraiser_thread.ReraiserThread(g), |
| 88 reraiser_thread.ReraiserThread(f)]) |
| 89 group.StartAll() |
| 90 with self.assertRaises(reraiser_thread.TimeoutError): |
| 91 group.JoinAll(watchdog_timer.WatchdogTimer(0.01)) |
| 92 event.set() |
| 93 |
| 78 | 94 |
| 79 if __name__ == '__main__': | 95 if __name__ == '__main__': |
| 80 unittest.main() | 96 unittest.main() |
| OLD | NEW |