From: Stefan Behnel Date: Sat, 13 Dec 2008 14:02:58 +0000 (+0100) Subject: extended test case X-Git-Tag: 0.11-beta~139 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=893566e59e2b07ff43f9cdaa3060351e70fd45e7;p=cython.git extended test case --- diff --git a/tests/run/funcexceptcypy.pyx b/tests/run/funcexceptcypy.pyx index a0d64856..391fed3f 100644 --- a/tests/run/funcexceptcypy.pyx +++ b/tests/run/funcexceptcypy.pyx @@ -1,10 +1,10 @@ -__doc__ = u""" +u""" >>> import sys >>> if not IS_PY3: sys.exc_clear() >>> def test_py(): ... try: -... raise AttributeError +... raise AttributeError("test") ... except AttributeError: ... test_c(error=AttributeError) ... print(sys.exc_info()[0] is AttributeError or sys.exc_info()[0]) @@ -33,6 +33,12 @@ True >>> print(sys.exc_info()[0]) # test_c() None + +>>> def test_raise(): +... raise TestException("test") +>>> test_catch(test_raise, TestException) +True +None """ import sys @@ -43,9 +49,16 @@ class TestException(Exception): def test_c(func=None, error=None): try: - raise TestException + raise TestException(u"test") except TestException: if func: func() print(sys.exc_info()[0] is TestException or sys.exc_info()[0]) print(sys.exc_info()[0] is error or sys.exc_info()[0]) + +def test_catch(func, error): + try: + func() + except error: + print(sys.exc_info()[0] is error or sys.exc_info()[0]) + print(sys.exc_info()[0] is error or sys.exc_info()[0])