[Python-checkins] bpo-32482: Fix suspicious code in tests for syntax and grammar. (GH-5086) (#5095)
Serhiy Storchaka
webhook-mailer at python.org
Thu Jan 4 04:32:55 EST 2018
https://github.com/python/cpython/commit/a70d5ff992e5e123a3fa6f0e7f672026db8ed1f7
commit: a70d5ff992e5e123a3fa6f0e7f672026db8ed1f7
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: Serhiy Storchaka <storchaka at gmail.com>
date: 2018-01-04T11:32:53+02:00
summary:
bpo-32482: Fix suspicious code in tests for syntax and grammar. (GH-5086) (#5095)
(cherry picked from commit 0cc99c8cd70d422e4b345837a907db30e9180ab9)
files:
M Lib/test/test_grammar.py
M Lib/test/test_syntax.py
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index 62f3251f051..ac8d85a3c41 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -575,6 +575,10 @@ def f(*args, **kwargs):
self.assertEqual(f(spam='fried', **{'eggs':'scrambled'}),
((), {'eggs':'scrambled', 'spam':'fried'}))
+ # Check ast errors in *args and *kwargs
+ check_syntax_error(self, "f(*g(1=2))")
+ check_syntax_error(self, "f(**g(1=2))")
+
# argument annotation tests
def f(x) -> list: pass
self.assertEqual(f.__annotations__, {'return': list})
@@ -616,10 +620,6 @@ def f(x=1): return closure
def f(*, k=1): return closure
def f() -> int: return closure
- # Check ast errors in *args and *kwargs
- check_syntax_error(self, "f(*g(1=2))")
- check_syntax_error(self, "f(**g(1=2))")
-
# Check trailing commas are permitted in funcdef argument list
def f(a,): pass
def f(*args,): pass
@@ -1056,7 +1056,6 @@ def test_try(self):
try: 1/0
except EOFError: pass
except TypeError as msg: pass
- except RuntimeError as msg: pass
except: pass
else: pass
try: 1/0
@@ -1165,7 +1164,7 @@ def test_selectors(self):
d[1,2] = 3
d[1,2,3] = 4
L = list(d)
- L.sort(key=lambda x: x if isinstance(x, tuple) else ())
+ L.sort(key=lambda x: (type(x).__name__, x))
self.assertEqual(str(L), '[1, (1,), (1, 2), (1, 2, 3)]')
def test_atoms(self):
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index b7095a2cdb0..26f508316b6 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -600,12 +600,12 @@ def test_kwargs_last(self):
"positional argument follows keyword argument")
def test_kwargs_last2(self):
- self._check_error("int(**{base: 10}, '2')",
+ self._check_error("int(**{'base': 10}, '2')",
"positional argument follows "
"keyword argument unpacking")
def test_kwargs_last3(self):
- self._check_error("int(**{base: 10}, *['2'])",
+ self._check_error("int(**{'base': 10}, *['2'])",
"iterable argument unpacking follows "
"keyword argument unpacking")
More information about the Python-checkins
mailing list