diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-02-19 15:35:26 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-02-19 15:35:26 (GMT) |
commit | 4779399e9f4ff6fe7734fa9931aa6df82a98da24 (patch) | |
tree | bb5da06b7e75258f69c244e73ad9e5a91fdc5fe9 | |
parent | c348cd751846ddc8cec61c47928867e30d94549c (diff) | |
download | cpython-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_grammar | 5 | ||||
-rw-r--r-- | Lib/test/test_grammar.py | 11 | ||||
-rw-r--r-- | Lib/test/test_scope.py | 10 | ||||
-rw-r--r-- | Lib/test/test_support.py | 9 |
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 + |