mirror of
https://github.com/python/cpython
synced 2024-10-14 15:42:19 +00:00
bpo-45890: Add tests for tracing try-except-finally blocks (GH-29746)
This commit is contained in:
parent
8db06528ca
commit
a310fd83a0
|
@ -642,15 +642,18 @@ def func():
|
|||
2
|
||||
except:
|
||||
4
|
||||
finally:
|
||||
else:
|
||||
6
|
||||
finally:
|
||||
8
|
||||
|
||||
self.run_and_compare(func,
|
||||
[(0, 'call'),
|
||||
(1, 'line'),
|
||||
(2, 'line'),
|
||||
(6, 'line'),
|
||||
(6, 'return')])
|
||||
(8, 'line'),
|
||||
(8, 'return')])
|
||||
|
||||
def test_nested_loops(self):
|
||||
|
||||
|
@ -1016,6 +1019,47 @@ def func():
|
|||
(3, 'line'),
|
||||
(3, 'return')])
|
||||
|
||||
def test_try_in_try_with_exception(self):
|
||||
|
||||
def func():
|
||||
try:
|
||||
try:
|
||||
raise TypeError
|
||||
except ValueError as ex:
|
||||
5
|
||||
except TypeError:
|
||||
7
|
||||
|
||||
self.run_and_compare(func,
|
||||
[(0, 'call'),
|
||||
(1, 'line'),
|
||||
(2, 'line'),
|
||||
(3, 'line'),
|
||||
(3, 'exception'),
|
||||
(4, 'line'),
|
||||
(6, 'line'),
|
||||
(7, 'line'),
|
||||
(7, 'return')])
|
||||
|
||||
def func():
|
||||
try:
|
||||
try:
|
||||
raise ValueError
|
||||
except ValueError as ex:
|
||||
5
|
||||
except TypeError:
|
||||
7
|
||||
|
||||
self.run_and_compare(func,
|
||||
[(0, 'call'),
|
||||
(1, 'line'),
|
||||
(2, 'line'),
|
||||
(3, 'line'),
|
||||
(3, 'exception'),
|
||||
(4, 'line'),
|
||||
(5, 'line'),
|
||||
(5, 'return')])
|
||||
|
||||
def test_if_in_if_in_if(self):
|
||||
def func(a=0, p=1, z=1):
|
||||
if p:
|
||||
|
|
|
@ -11,6 +11,11 @@
|
|||
|
||||
from test.tracedmodules import testmod
|
||||
|
||||
##
|
||||
## See also test_sys_settrace.py, which contains tests that cover
|
||||
## tracing of many more code blocks.
|
||||
##
|
||||
|
||||
#------------------------------- Utilities -----------------------------------#
|
||||
|
||||
def fix_ext_py(filename):
|
||||
|
|
Loading…
Reference in a new issue