]> granicus.if.org Git - python/commitdiff
Add test for syntax error on "x = 1 + 1".
authorJeremy Hylton <jeremy@alum.mit.edu>
Mon, 19 Feb 2001 15:35:26 +0000 (15:35 +0000)
committerJeremy Hylton <jeremy@alum.mit.edu>
Mon, 19 Feb 2001 15:35:26 +0000 (15:35 +0000)
Move check_syntax() function into test_support.

Lib/test/output/test_grammar
Lib/test/test_grammar.py
Lib/test/test_scope.py
Lib/test/test_support.py

index c69697d208ab9237e7eb28623699310480edd1ae..70d88365497b043abdae2c8fc8d0699674c53a95 100644 (file)
@@ -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')]
index 53ae0705915148311327c18e90a5d11289bc420e..781f373bb1054909e4e49d29b476f69aed2df8c3 100644 (file)
@@ -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,
index 7fd561baefba22ea82071893f6691ab3c2589dc4..322431d07894a7f66054dbbf7205a514feba6937 100644 (file)
@@ -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 *
index 8861399b0ad934accc52ab5320d72513b5c2e5d5..3a20b2e47479286370656390ce27a8b05418f872 100644 (file)
@@ -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
+