Commit 0cc99c8c authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by GitHub

bpo-32482: Fix suspicious code in tests for syntax and grammar. (#5086)

parent 811b2878
......@@ -575,6 +575,10 @@ class GrammarTests(unittest.TestCase):
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 @@ class GrammarTests(unittest.TestCase):
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
......@@ -1091,7 +1091,6 @@ class GrammarTests(unittest.TestCase):
try: 1/0
except EOFError: pass
except TypeError as msg: pass
except RuntimeError as msg: pass
except: pass
else: pass
try: 1/0
......@@ -1200,7 +1199,7 @@ class GrammarTests(unittest.TestCase):
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):
......
......@@ -668,12 +668,12 @@ class SyntaxTestCase(unittest.TestCase):
"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")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment