3 from tests import LimitedTestCase
9 class TestDirectRaise(LimitedTestCase):
10 def test_direct_raise_class(self):
12 raise eventlet.Timeout
13 except eventlet.Timeout as t:
14 assert not t.pending, repr(t)
16 def test_direct_raise_instance(self):
17 tm = eventlet.Timeout()
20 except eventlet.Timeout as t:
21 assert tm is t, (tm, t)
22 assert not t.pending, repr(t)
25 # just verify these don't crash
26 tm = eventlet.Timeout(1)
31 tm = eventlet.Timeout(None, RuntimeError)
34 tm = eventlet.Timeout(None, False)
39 class TestWithTimeout(LimitedTestCase):
40 def test_with_timeout(self):
41 self.assertRaises(eventlet.Timeout, eventlet.with_timeout, DELAY, eventlet.sleep, DELAY * 10)
43 r = eventlet.with_timeout(DELAY, eventlet.sleep, DELAY * 10, timeout_value=X)
45 r = eventlet.with_timeout(DELAY * 10, eventlet.sleep, DELAY, timeout_value=X)
48 def test_with_outer_timer(self):
50 # this should not catch the outer timeout's exception
51 return eventlet.with_timeout(DELAY * 10, eventlet.sleep, DELAY * 20, timeout_value='b')
54 eventlet.with_timeout,
55 DELAY, longer_timeout)