bpo-45890: Add tests for tracing try-except-finally blocks (GH-29746)

This commit is contained in:
Irit Katriel 2021-12-07 10:50:37 +00:00 committed by GitHub
parent 8db06528ca
commit a310fd83a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 2 deletions

View file

@ -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:

View file

@ -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):