summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2010-08-19 22:29:49 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2010-08-19 22:29:49 (GMT)
commit72356338cb60198d45ebf6737bdc173088c38a17 (patch)
treec9954872cd7288d24e15253e549e09d4eb4b878e /Lib
parenta1e5c69d5bc50b57ac10a27c77a6016947919abd (diff)
downloadcpython-72356338cb60198d45ebf6737bdc173088c38a17.zip
cpython-72356338cb60198d45ebf6737bdc173088c38a17.tar.gz
cpython-72356338cb60198d45ebf6737bdc173088c38a17.tar.bz2
The 3.1 compiler don't check for keyword assignments in all places.
Find another way to generate a SyntaxError in the tests. Previously, these statements would raise something strange like TypeError: "'int' object is not iterable"
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_syntax.py22
1 files changed, 6 insertions, 16 deletions
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index be783c7..2afbb61 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -478,32 +478,22 @@ SyntaxError: keyword argument repeated
Corner-cases that used to fail to raise the correct error:
- >>> def f(*, x=lambda __debug__:0): pass
+ >>> def f(*, x=lambda *:0): pass
Traceback (most recent call last):
- SyntaxError: assignment to keyword
+ SyntaxError: named arguments must follow bare *
- >>> def f(*args:(lambda __debug__:0)): pass
+ >>> def f(*args:(lambda *:0)): pass
Traceback (most recent call last):
- SyntaxError: assignment to keyword
+ SyntaxError: named arguments must follow bare *
- >>> def f(**kwargs:(lambda __debug__:0)): pass
+ >>> def f(**kwargs:(lambda *:0)): pass
Traceback (most recent call last):
- SyntaxError: assignment to keyword
+ SyntaxError: named arguments must follow bare *
>>> with (lambda *:0): pass
Traceback (most recent call last):
SyntaxError: named arguments must follow bare *
-Corner-cases that used to crash:
-
- >>> def f(**__debug__): pass
- Traceback (most recent call last):
- SyntaxError: assignment to keyword
-
- >>> def f(*xx, __debug__): pass
- Traceback (most recent call last):
- SyntaxError: assignment to keyword
-
"""
import re