@@ -737,11 +737,6 @@ def test_exec_globals(self):
737
737
self .assertRaises (TypeError ,
738
738
exec , code , {'__builtins__' : 123 })
739
739
740
- # no __build_class__ function
741
- code = compile ("class A: pass" , "" , "exec" )
742
- self .assertRaisesRegex (NameError , "__build_class__ not found" ,
743
- exec , code , {'__builtins__' : {}})
744
-
745
740
class frozendict_error (Exception ):
746
741
pass
747
742
@@ -758,6 +753,15 @@ def __setitem__(self, key, value):
758
753
self .assertRaises (frozendict_error ,
759
754
exec , code , {'__builtins__' : frozen_builtins })
760
755
756
+ # no __build_class__ function
757
+ code = compile ("class A: pass" , "" , "exec" )
758
+ self .assertRaisesRegex (NameError , "__build_class__ not found" ,
759
+ exec , code , {'__builtins__' : {}})
760
+ # __build_class__ in a custom __builtins__
761
+ exec (code , {'__builtins__' : frozen_builtins })
762
+ self .assertRaisesRegex (NameError , "__build_class__ not found" ,
763
+ exec , code , {'__builtins__' : frozendict ()})
764
+
761
765
# read-only globals
762
766
namespace = frozendict ({})
763
767
code = compile ("x=1" , "test" , "exec" )
0 commit comments