mit neuen venv und exe-Files
This commit is contained in:
58
venv3_12/Lib/site-packages/gevent/tests/test__exc_info.py
Normal file
58
venv3_12/Lib/site-packages/gevent/tests/test__exc_info.py
Normal file
@@ -0,0 +1,58 @@
|
||||
import gevent
|
||||
import sys
|
||||
import gevent.testing as greentest
|
||||
from gevent.testing import six
|
||||
from gevent.testing import ExpectedException as ExpectedError
|
||||
|
||||
if six.PY2:
|
||||
sys.exc_clear()
|
||||
|
||||
class RawException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def hello(err):
|
||||
assert sys.exc_info() == (None, None, None), sys.exc_info()
|
||||
raise err
|
||||
|
||||
|
||||
def hello2():
|
||||
try:
|
||||
hello(ExpectedError('expected exception in hello'))
|
||||
except ExpectedError:
|
||||
pass
|
||||
|
||||
|
||||
class Test(greentest.TestCase):
|
||||
|
||||
def test1(self):
|
||||
error = RawException('hello')
|
||||
expected_error = ExpectedError('expected exception in hello')
|
||||
try:
|
||||
raise error
|
||||
except RawException:
|
||||
self.expect_one_error()
|
||||
g = gevent.spawn(hello, expected_error)
|
||||
g.join()
|
||||
self.assert_error(ExpectedError, expected_error)
|
||||
self.assertIsInstance(g.exception, ExpectedError)
|
||||
|
||||
try:
|
||||
raise
|
||||
except: # pylint:disable=bare-except
|
||||
ex = sys.exc_info()[1]
|
||||
self.assertIs(ex, error)
|
||||
|
||||
def test2(self):
|
||||
timer = gevent.get_hub().loop.timer(0)
|
||||
timer.start(hello2)
|
||||
try:
|
||||
gevent.sleep(0.1)
|
||||
self.assertEqual(sys.exc_info(), (None, None, None))
|
||||
finally:
|
||||
timer.close()
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
greentest.main()
|
||||
Reference in New Issue
Block a user