mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-123142: fix too wide source location of GET_ITER/GET_AITER (#123420)
This commit is contained in:
parent
40fff90ae3
commit
61bef6245c
6 changed files with 40 additions and 9 deletions
|
@ -2850,14 +2850,17 @@ def get_signal_name(exitcode):
|
|||
return None
|
||||
|
||||
class BrokenIter:
|
||||
def __init__(self, init_raises=False, next_raises=False):
|
||||
def __init__(self, init_raises=False, next_raises=False, iter_raises=False):
|
||||
if init_raises:
|
||||
1/0
|
||||
self.next_raises = next_raises
|
||||
self.iter_raises = iter_raises
|
||||
|
||||
def __next__(self):
|
||||
if self.next_raises:
|
||||
1/0
|
||||
|
||||
def __iter__(self):
|
||||
if self.iter_raises:
|
||||
1/0
|
||||
return self
|
||||
|
|
|
@ -145,8 +145,15 @@ class DictComprehensionTest(unittest.TestCase):
|
|||
except Exception as e:
|
||||
return e
|
||||
|
||||
def iter_raises():
|
||||
try:
|
||||
{x:x for x in BrokenIter(iter_raises=True)}
|
||||
except Exception as e:
|
||||
return e
|
||||
|
||||
for func, expected in [(init_raises, "BrokenIter(init_raises=True)"),
|
||||
(next_raises, "BrokenIter(next_raises=True)"),
|
||||
(iter_raises, "BrokenIter(iter_raises=True)"),
|
||||
]:
|
||||
with self.subTest(func):
|
||||
exc = func()
|
||||
|
|
|
@ -1163,8 +1163,16 @@ class TestCase(unittest.TestCase):
|
|||
except Exception as e:
|
||||
return e
|
||||
|
||||
def iter_raises():
|
||||
try:
|
||||
for x in BrokenIter(iter_raises=True):
|
||||
pass
|
||||
except Exception as e:
|
||||
return e
|
||||
|
||||
for func, expected in [(init_raises, "BrokenIter(init_raises=True)"),
|
||||
(next_raises, "BrokenIter(next_raises=True)"),
|
||||
(iter_raises, "BrokenIter(iter_raises=True)"),
|
||||
]:
|
||||
with self.subTest(func):
|
||||
exc = func()
|
||||
|
|
|
@ -730,8 +730,15 @@ class ListComprehensionTest(unittest.TestCase):
|
|||
except Exception as e:
|
||||
return e
|
||||
|
||||
def iter_raises():
|
||||
try:
|
||||
[x for x in BrokenIter(iter_raises=True)]
|
||||
except Exception as e:
|
||||
return e
|
||||
|
||||
for func, expected in [(init_raises, "BrokenIter(init_raises=True)"),
|
||||
(next_raises, "BrokenIter(next_raises=True)"),
|
||||
(iter_raises, "BrokenIter(iter_raises=True)"),
|
||||
]:
|
||||
with self.subTest(func):
|
||||
exc = func()
|
||||
|
|
|
@ -168,8 +168,15 @@ class SetComprehensionTest(unittest.TestCase):
|
|||
except Exception as e:
|
||||
return e
|
||||
|
||||
def iter_raises():
|
||||
try:
|
||||
{x for x in BrokenIter(iter_raises=True)}
|
||||
except Exception as e:
|
||||
return e
|
||||
|
||||
for func, expected in [(init_raises, "BrokenIter(init_raises=True)"),
|
||||
(next_raises, "BrokenIter(next_raises=True)"),
|
||||
(iter_raises, "BrokenIter(iter_raises=True)"),
|
||||
]:
|
||||
with self.subTest(func):
|
||||
exc = func()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue