From d7604f5d0621c23d037455acd682d0d489455d54 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Mon, 23 Oct 2017 15:08:03 -0700 Subject: bpo-31847: Fix commented out tests in test_syntax. (GH-4084) (#4095) SyntaxError now is raised instead of SyntaxWarning. (cherry picked from commit 3b66ebe7727dba68c2c6ccf0cd85a4c31255b9b4) --- Lib/test/test_syntax.py | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 7f7e6da..b7095a2 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -384,6 +384,15 @@ Misuse of the nonlocal and global statement can lead to a few unique syntax erro ... SyntaxError: name 'x' is used prior to nonlocal declaration + >>> def f(): + ... x = 1 + ... def g(): + ... x = 2 + ... nonlocal x + Traceback (most recent call last): + ... + SyntaxError: name 'x' is assigned to before nonlocal declaration + >>> def f(x): ... nonlocal x Traceback (most recent call last): @@ -409,24 +418,7 @@ From SF bug #1705365 ... SyntaxError: nonlocal declaration not allowed at module level -TODO(jhylton): Figure out how to test SyntaxWarning with doctest. - -## >>> def f(x): -## ... def f(): -## ... print(x) -## ... nonlocal x -## Traceback (most recent call last): -## ... -## SyntaxWarning: name 'x' is assigned to before nonlocal declaration - -## >>> def f(): -## ... x = 1 -## ... nonlocal x -## Traceback (most recent call last): -## ... -## SyntaxWarning: name 'x' is assigned to before nonlocal declaration - - From https://bugs.python.org/issue25973 +From https://bugs.python.org/issue25973 >>> class A: ... def f(self): ... nonlocal __x -- cgit v0.12