diff options
author | Georg Brandl <georg@python.org> | 2006-09-06 06:51:57 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-09-06 06:51:57 (GMT) |
commit | 7cae87ca7b0a3a7ce497cbd335c8ec82fe680476 (patch) | |
tree | 612cc46e728bef49b19f3d4bc26fa4951b2c1c83 /Lib/test/test_compile.py | |
parent | 4e472e05bdddde72d91d6f25d6e048371cf3c9be (diff) | |
download | cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.zip cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.tar.gz cpython-7cae87ca7b0a3a7ce497cbd335c8ec82fe680476.tar.bz2 |
Patch #1550800: make exec a function.
Diffstat (limited to 'Lib/test/test_compile.py')
-rw-r--r-- | Lib/test/test_compile.py | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py index a3f15bf..73ef2d4 100644 --- a/Lib/test/test_compile.py +++ b/Lib/test/test_compile.py @@ -19,17 +19,17 @@ class TestSpecifics(unittest.TestCase): self.assertRaises(SyntaxError, eval, 'lambda a,a=1:0') self.assertRaises(SyntaxError, eval, 'lambda a=1,a=1:0') try: - exec 'def f(a, a): pass' + exec('def f(a, a): pass') self.fail("duplicate arguments") except SyntaxError: pass try: - exec 'def f(a = 0, a = 1): pass' + exec('def f(a = 0, a = 1): pass') self.fail("duplicate keyword arguments") except SyntaxError: pass try: - exec 'def f(a): global a; a = 1' + exec('def f(a): global a; a = 1') self.fail("variable is global and local") except SyntaxError: pass @@ -39,7 +39,7 @@ class TestSpecifics(unittest.TestCase): def test_duplicate_global_local(self): try: - exec 'def f(a): global a; a = 1' + exec('def f(a): global a; a = 1') self.fail("variable is global and local") except SyntaxError: pass @@ -59,22 +59,22 @@ class TestSpecifics(unittest.TestCase): m = M() g = globals() - exec 'z = a' in g, m + exec('z = a', g, m) self.assertEqual(m.results, ('z', 12)) try: - exec 'z = b' in g, m + exec('z = b', g, m) except NameError: pass else: self.fail('Did not detect a KeyError') - exec 'z = dir()' in g, m + exec('z = dir()', g, m) self.assertEqual(m.results, ('z', list('xyz'))) - exec 'z = globals()' in g, m + exec('z = globals()', g, m) self.assertEqual(m.results, ('z', g)) - exec 'z = locals()' in g, m + exec('z = locals()', g, m) self.assertEqual(m.results, ('z', m)) try: - exec 'z = b' in m + exec('z = b', m) except TypeError: pass else: @@ -85,7 +85,7 @@ class TestSpecifics(unittest.TestCase): pass m = A() try: - exec 'z = a' in g, m + exec('z = a', g, m) except TypeError: pass else: @@ -98,11 +98,12 @@ class TestSpecifics(unittest.TestCase): return 12 return dict.__getitem__(self, key) d = D() - exec 'z = a' in g, d + exec('z = a', g, d) self.assertEqual(d['z'], 12) def test_extended_arg(self): longexpr = 'x = x or ' + '-x' * 2500 + g = {} code = ''' def f(x): %s @@ -121,8 +122,8 @@ def f(x): # EXTENDED_ARG/JUMP_ABSOLUTE here return x ''' % ((longexpr,)*10) - exec code - self.assertEqual(f(5), 0) + exec(code, g) + self.assertEqual(g['f'](5), 0) def test_complex_args(self): @@ -146,7 +147,7 @@ def f(x): def test_argument_order(self): try: - exec 'def f(a=1, (b, c)): pass' + exec('def f(a=1, (b, c)): pass') self.fail("non-default args after default") except SyntaxError: pass |