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 | |
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.Watchdog(0)) | |
frankf
2013/04/03 20:49:52
Might want test a positive timeout value as well
craigdh
2013/04/03 21:17:47
The other tests call JoinAll with no arguments whi
| |
92 event.set() | |
93 | |
78 | 94 |
79 if __name__ == '__main__': | 95 if __name__ == '__main__': |
80 unittest.main() | 96 unittest.main() |
OLD | NEW |