Commit a0a1af05 authored by Denis Bilenko's avatar Denis Bilenko

add test__systemerror.py

parent edfaf987
import sys
import greentest
import gevent
from gevent.hub import get_hub
def raise_(ex):
raise ex
MSG = 'should be re-raised and caught'
class Test(greentest.TestCase):
def test_sys_exit(self):
self.start(sys.exit, MSG)
try:
gevent.sleep(0.001)
except SystemExit, ex:
assert str(ex) == MSG, repr(str(ex))
def test_keyboard_interrupt(self):
self.start(raise_, KeyboardInterrupt)
try:
gevent.sleep(0.001)
except KeyboardInterrupt:
pass
def test_system_error(self):
self.start(raise_, SystemError(MSG))
try:
gevent.sleep(0.001)
except SystemError, ex:
assert str(ex) == MSG, repr(str(ex))
def test_exception(self):
self.start(raise_, Exception('regular exception must not kill the program'))
gevent.sleep(0.001)
class TestCallback(Test):
def setUp(self):
super(TestCallback, self).setUp()
self.x = get_hub().loop.callback()
def tearDown(self):
assert not self.x.pending, self.x
def start(self, *args):
self.x.start(*args)
class TestSpawn(Test):
def tearDown(self):
assert self.x.dead, self.x
def start(self, *args):
self.x = gevent.spawn(*args)
del Test
if __name__ == '__main__':
greentest.main()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment