diff --git a/Lib/test/output/test_grammar b/Lib/test/output/test_grammar index c69697d208a..70d88365497 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 53ae0705915..781f373bb10 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, '', '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 7fd561baefb..322431d0789 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 8861399b0ad..3a20b2e4747 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, '', 'exec') + except SyntaxError: + pass + else: + print 'Missing SyntaxError: "%s"' % statement +