diff options
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/builtin.py | 3 | ||||
-rw-r--r-- | Lib/test/test_b1.py | 10 | ||||
-rw-r--r-- | Lib/test/test_grammar.py | 21 | ||||
-rw-r--r-- | Lib/test/testall.out | 2 |
4 files changed, 25 insertions, 11 deletions
diff --git a/Lib/builtin.py b/Lib/builtin.py new file mode 100755 index 0000000..710d825 --- /dev/null +++ b/Lib/builtin.py @@ -0,0 +1,3 @@ +# B/W compat hack so code that says "import builtin" won't break after +# name change from builtin to __builtin__. +from __builtin__ import * diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py index e5611e5..c258fd7 100644 --- a/Lib/test/test_b1.py +++ b/Lib/test/test_b1.py @@ -25,7 +25,7 @@ def f2(a1, a2): raise TestFailed, 'f2 called with ' + `a1, a2` def f3(a1, a2, a3): if a1 != 1 or a2 != 2 or a3 != 3: - raise TestFailed, 'f2 called with ' + `a1, a2, a3` + raise TestFailed, 'f3 called with ' + `a1, a2, a3` apply(f0, ()) apply(f1, (1,)) apply(f2, (1, 2)) @@ -81,14 +81,6 @@ print 'eval' if eval('1+1') <> 2: raise TestFailed, 'eval(\'1+1\')' if eval(' 1+1\n') <> 2: raise TestFailed, 'eval(\' 1+1\\n\')' -print 'exec' -z = 0 -exec('z=1+1\n') -if z <> 2: raise TestFailed, 'exec(\'z=1+1\'\\n)' -z = 0 -exec('z=1+1') -if z <> 2: raise TestFailed, 'exec(\'z=1+1\')' - print 'execfile' z = 0 f = open(TESTFN, 'w') diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py index 56fb14f..f07f75b 100644 --- a/Lib/test/test_grammar.py +++ b/Lib/test/test_grammar.py @@ -97,7 +97,7 @@ def v3(a, (b, c), *rest): pass print 'simple_stmt' x = 1; pass; del x -### small_stmt: expr_stmt | print_stmt | pass_stmt | del_stmt | flow_stmt | import_stmt +### small_stmt: expr_stmt | print_stmt | pass_stmt | del_stmt | flow_stmt | import_stmt | global_stmt | access_stmt | exec_stmt # Tested below print 'expr_stmt' # (exprlist '=')* exprlist @@ -165,6 +165,25 @@ def f(): global a, b global one, two, three, four, five, six, seven, eight, nine, ten +print 'exec_stmt' # 'exec' expr ['in' expr [',' expr]] +def f(): + z = None + del z + exec 'z=1+1\n' + if z <> 2: raise TestFailed, 'exec \'z=1+1\'\\n' + del z + exec 'z=1+1' + if z <> 2: raise TestFailed, 'exec \'z=1+1\'' +f() +g = {} +exec 'z = 1' in g +if g <> {'z': 1}: raise TestFailed, 'exec \'z = 1\' in g' +g = {} +l = {} +exec 'global a; a = 1; b = 2' in g, l +if (g, l) <> ({'a':1}, {'b':2}): raise TestFailed, 'exec ... in g, l' + + ### compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef # Tested below diff --git a/Lib/test/testall.out b/Lib/test/testall.out index a711ba2..e1ee9da 100644 --- a/Lib/test/testall.out +++ b/Lib/test/testall.out @@ -35,6 +35,7 @@ import_stmt [5] [6] global_stmt +exec_stmt if_stmt while_stmt for_stmt @@ -71,7 +72,6 @@ coerce dir divmod eval -exec execfile float getattr |