mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
bpo-32482: Fix suspicious code in tests for syntax and grammar. (#5086)
This commit is contained in:
parent
811b2878df
commit
0cc99c8cd7
2 changed files with 7 additions and 8 deletions
|
@ -575,6 +575,10 @@ class GrammarTests(unittest.TestCase):
|
||||||
self.assertEqual(f(spam='fried', **{'eggs':'scrambled'}),
|
self.assertEqual(f(spam='fried', **{'eggs':'scrambled'}),
|
||||||
((), {'eggs':'scrambled', 'spam':'fried'}))
|
((), {'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
|
# argument annotation tests
|
||||||
def f(x) -> list: pass
|
def f(x) -> list: pass
|
||||||
self.assertEqual(f.__annotations__, {'return': list})
|
self.assertEqual(f.__annotations__, {'return': list})
|
||||||
|
@ -616,10 +620,6 @@ class GrammarTests(unittest.TestCase):
|
||||||
def f(*, k=1): return closure
|
def f(*, k=1): return closure
|
||||||
def f() -> int: 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
|
# Check trailing commas are permitted in funcdef argument list
|
||||||
def f(a,): pass
|
def f(a,): pass
|
||||||
def f(*args,): pass
|
def f(*args,): pass
|
||||||
|
@ -1091,7 +1091,6 @@ class GrammarTests(unittest.TestCase):
|
||||||
try: 1/0
|
try: 1/0
|
||||||
except EOFError: pass
|
except EOFError: pass
|
||||||
except TypeError as msg: pass
|
except TypeError as msg: pass
|
||||||
except RuntimeError as msg: pass
|
|
||||||
except: pass
|
except: pass
|
||||||
else: pass
|
else: pass
|
||||||
try: 1/0
|
try: 1/0
|
||||||
|
@ -1200,7 +1199,7 @@ class GrammarTests(unittest.TestCase):
|
||||||
d[1,2] = 3
|
d[1,2] = 3
|
||||||
d[1,2,3] = 4
|
d[1,2,3] = 4
|
||||||
L = list(d)
|
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)]')
|
self.assertEqual(str(L), '[1, (1,), (1, 2), (1, 2, 3)]')
|
||||||
|
|
||||||
def test_atoms(self):
|
def test_atoms(self):
|
||||||
|
|
|
@ -668,12 +668,12 @@ class SyntaxTestCase(unittest.TestCase):
|
||||||
"positional argument follows keyword argument")
|
"positional argument follows keyword argument")
|
||||||
|
|
||||||
def test_kwargs_last2(self):
|
def test_kwargs_last2(self):
|
||||||
self._check_error("int(**{base: 10}, '2')",
|
self._check_error("int(**{'base': 10}, '2')",
|
||||||
"positional argument follows "
|
"positional argument follows "
|
||||||
"keyword argument unpacking")
|
"keyword argument unpacking")
|
||||||
|
|
||||||
def test_kwargs_last3(self):
|
def test_kwargs_last3(self):
|
||||||
self._check_error("int(**{base: 10}, *['2'])",
|
self._check_error("int(**{'base': 10}, *['2'])",
|
||||||
"iterable argument unpacking follows "
|
"iterable argument unpacking follows "
|
||||||
"keyword argument unpacking")
|
"keyword argument unpacking")
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue