(self)
| 869 | self.assertRaises(TypeError, eval, 'dir()', globals(), C()) |
| 870 | |
| 871 | def test_exec(self): |
| 872 | g = {} |
| 873 | exec('z = 1', g) |
| 874 | if '__builtins__' in g: |
| 875 | del g['__builtins__'] |
| 876 | self.assertEqual(g, {'z': 1}) |
| 877 | |
| 878 | exec('z = 1+1', g) |
| 879 | if '__builtins__' in g: |
| 880 | del g['__builtins__'] |
| 881 | self.assertEqual(g, {'z': 2}) |
| 882 | g = {} |
| 883 | l = {} |
| 884 | |
| 885 | with check_warnings(): |
| 886 | warnings.filterwarnings("ignore", "global statement", |
| 887 | module="<string>") |
| 888 | exec('global a; a = 1; b = 2', g, l) |
| 889 | if '__builtins__' in g: |
| 890 | del g['__builtins__'] |
| 891 | if '__builtins__' in l: |
| 892 | del l['__builtins__'] |
| 893 | self.assertEqual((g, l), ({'a': 1}, {'b': 2})) |
| 894 | |
| 895 | def test_exec_frozendict(self): |
| 896 | ns = frozendict(x=1, data=[], __builtins__=__builtins__) |
nothing calls this directly
no test coverage detected