summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-02-19 15:35:26 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2001-02-19 15:35:26 (GMT)
commit4779399e9f4ff6fe7734fa9931aa6df82a98da24 (patch)
treebb5da06b7e75258f69c244e73ad9e5a91fdc5fe9
parentc348cd751846ddc8cec61c47928867e30d94549c (diff)
downloadcpython-4779399e9f4ff6fe7734fa9931aa6df82a98da24.zip
cpython-4779399e9f4ff6fe7734fa9931aa6df82a98da24.tar.gz
cpython-4779399e9f4ff6fe7734fa9931aa6df82a98da24.tar.bz2
Add test for syntax error on "x = 1 + 1".
Move check_syntax() function into test_support.
-rw-r--r--Lib/test/output/test_grammar5
-rw-r--r--Lib/test/test_grammar.py11
-rw-r--r--Lib/test/test_scope.py10
-rw-r--r--Lib/test/test_support.py9
4 files changed, 13 insertions, 22 deletions
diff --git a/Lib/test/output/test_grammar b/Lib/test/output/test_grammar
index c69697d..70d8836 100644
--- a/Lib/test/output/test_grammar
+++ b/Lib/test/output/test_grammar
@@ -14,7 +14,6 @@ expr_input
eval_input
funcdef
lambdef
-SyntaxError expected for "lambda x: x = 2"
simple_stmt
expr_stmt
print_stmt
@@ -26,8 +25,6 @@ extended print_stmt
1 2 3
1 1 1
hello world
-SyntaxError expected for "print ,"
-SyntaxError expected for "print >> x,"
del_stmt
pass_stmt
flow_stmt
@@ -62,6 +59,4 @@ classdef
[(1, 'Apple'), (1, 'Banana'), (1, 'Coconut'), (2, 'Apple'), (2, 'Banana'), (2, 'Coconut'), (3, 'Apple'), (3, 'Banana'), (3, 'Coconut'), (4, 'Apple'), (4, 'Banana'), (4, 'Coconut'), (5, 'Apple'), (5, 'Banana'), (5, 'Coconut')]
[(1, 'Banana'), (1, 'Coconut'), (2, 'Banana'), (2, 'Coconut'), (3, 'Banana'), (3, 'Coconut'), (4, 'Banana'), (4, 'Coconut'), (5, 'Banana'), (5, 'Coconut')]
[0, 0, 0]
-SyntaxError expected for "[i, s for i in nums for s in strs]"
-SyntaxError expected for "[x if y]"
[('Boeing', 'Airliner'), ('Boeing', 'Engine'), ('Ford', 'Engine'), ('Macdonalds', 'Cheeseburger')]
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index 53ae070..781f373 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -3,14 +3,6 @@
from test_support import *
-def check_syntax(statement):
- try:
- compile(statement, '<string>', 'exec')
- except SyntaxError:
- print 'SyntaxError expected for "%s"' % statement
- else:
- print 'Missing SyntaxError: "%s"' % statement
-
print '1. Parser'
print '1.1 Tokens'
@@ -280,6 +272,9 @@ x, y, z = 1, 2, 3
abc = a, b, c = x, y, z = xyz = 1, 2, (3, 4)
# NB these variables are deleted below
+check_syntax("x + 1 = 1")
+check_syntax("a + 1 = b + 2")
+
print 'print_stmt' # 'print' (test ',')* [test]
print 1, 2, 3
print 1, 2, 3,
diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py
index 7fd561b..322431d 100644
--- a/Lib/test/test_scope.py
+++ b/Lib/test/test_scope.py
@@ -1,4 +1,4 @@
-from test.test_support import verify, TestFailed
+from test.test_support import verify, TestFailed, check_syntax
print "1. simple nesting"
@@ -177,14 +177,6 @@ verify(f(6) == 720)
print "11. unoptimized namespaces"
-def check_syntax(s):
- try:
- compile(s, '?', 'exec')
- except SyntaxError:
- pass
- else:
- raise TestFailed
-
check_syntax("""def unoptimized_clash1(strip):
def f(s):
from string import *
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 8861399..3a20b2e 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -79,3 +79,12 @@ def verify(condition, reason='test failed'):
if not condition:
raise TestFailed(reason)
+
+def check_syntax(statement):
+ try:
+ compile(statement, '<string>', 'exec')
+ except SyntaxError:
+ pass
+ else:
+ print 'Missing SyntaxError: "%s"' % statement
+