diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2024-08-28 16:11:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-28 16:11:52 (GMT) |
commit | 61bef6245c4a32bf430d684ede8603f423d63284 (patch) | |
tree | dbd4df2f696e2f7c1c576ddd63ec8440c5b82cf2 /Lib/test | |
parent | 40fff90ae3d46843bb9d27c6a53ef61c861a3bb4 (diff) | |
download | cpython-61bef6245c4a32bf430d684ede8603f423d63284.zip cpython-61bef6245c4a32bf430d684ede8603f423d63284.tar.gz cpython-61bef6245c4a32bf430d684ede8603f423d63284.tar.bz2 |
gh-123142: fix too wide source location of GET_ITER/GET_AITER (#123420)
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/support/__init__.py | 5 | ||||
-rw-r--r-- | Lib/test/test_dictcomps.py | 7 | ||||
-rw-r--r-- | Lib/test/test_iter.py | 8 | ||||
-rw-r--r-- | Lib/test/test_listcomps.py | 7 | ||||
-rw-r--r-- | Lib/test/test_setcomps.py | 7 |
5 files changed, 33 insertions, 1 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 19bbd40..3149fd7 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -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 diff --git a/Lib/test/test_dictcomps.py b/Lib/test/test_dictcomps.py index e9df296..26b56da 100644 --- a/Lib/test/test_dictcomps.py +++ b/Lib/test/test_dictcomps.py @@ -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() diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py index 502856e..1b9f3cf 100644 --- a/Lib/test/test_iter.py +++ b/Lib/test/test_iter.py @@ -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() diff --git a/Lib/test/test_listcomps.py b/Lib/test/test_listcomps.py index 467e0c5..45644d6 100644 --- a/Lib/test/test_listcomps.py +++ b/Lib/test/test_listcomps.py @@ -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() diff --git a/Lib/test/test_setcomps.py b/Lib/test/test_setcomps.py index ba4173c..0bb02ef 100644 --- a/Lib/test/test_setcomps.py +++ b/Lib/test/test_setcomps.py @@ -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() |