diff options
author | Dong-hee Na <donghee.na@python.org> | 2023-01-31 23:42:22 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-31 23:42:22 +0900 |
commit | 740050af0493030b1f6ebf0b9ac39a356e2e74b6 (patch) | |
tree | 322b8915045b9d9fe03a69982efc5558306714ad /Lib/test/test_syntax.py | |
parent | 71db9c9ea50ccba47a3c1e31334747049a68487b (diff) | |
download | cpython-git-740050af0493030b1f6ebf0b9ac39a356e2e74b6.tar.gz |
[3.10] gh-101400: Fix incorrect lineno in exception message on contin… (gh-101448)
Diffstat (limited to 'Lib/test/test_syntax.py')
-rw-r--r-- | Lib/test/test_syntax.py | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index cd09d1eabd..5ab3ec6c77 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -1410,9 +1410,6 @@ class SyntaxTestCase(unittest.TestCase): """ self._check_error(source, "parameter and nonlocal", lineno=3) - def test_break_outside_loop(self): - self._check_error("break", "outside loop") - def test_yield_outside_function(self): self._check_error("if 0: yield", "outside function") self._check_error("if 0: yield\nelse: x=1", "outside function") @@ -1441,20 +1438,27 @@ class SyntaxTestCase(unittest.TestCase): "outside function") def test_break_outside_loop(self): - self._check_error("if 0: break", "outside loop") - self._check_error("if 0: break\nelse: x=1", "outside loop") - self._check_error("if 1: pass\nelse: break", "outside loop") - self._check_error("class C:\n if 0: break", "outside loop") + msg = "outside loop" + self._check_error("break", msg, lineno=1) + self._check_error("if 0: break", msg, lineno=1) + self._check_error("if 0: break\nelse: x=1", msg, lineno=1) + self._check_error("if 1: pass\nelse: break", msg, lineno=2) + self._check_error("class C:\n if 0: break", msg, lineno=2) self._check_error("class C:\n if 1: pass\n else: break", - "outside loop") + msg, lineno=3) + self._check_error("with object() as obj:\n break", + msg, lineno=2) def test_continue_outside_loop(self): - self._check_error("if 0: continue", "not properly in loop") - self._check_error("if 0: continue\nelse: x=1", "not properly in loop") - self._check_error("if 1: pass\nelse: continue", "not properly in loop") - self._check_error("class C:\n if 0: continue", "not properly in loop") + msg = "not properly in loop" + self._check_error("if 0: continue", msg, lineno=1) + self._check_error("if 0: continue\nelse: x=1", msg, lineno=1) + self._check_error("if 1: pass\nelse: continue", msg, lineno=2) + self._check_error("class C:\n if 0: continue", msg, lineno=2) self._check_error("class C:\n if 1: pass\n else: continue", - "not properly in loop") + msg, lineno=3) + self._check_error("with object() as obj:\n continue", + msg, lineno=2) def test_unexpected_indent(self): self._check_error("foo()\n bar()\n", "unexpected indent", |