@@ -737,11 +737,6 @@ def test_exec_globals(self):
737737 self .assertRaises (TypeError ,
738738 exec , code , {'__builtins__' : 123 })
739739
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-
745740 class frozendict_error (Exception ):
746741 pass
747742
@@ -758,6 +753,15 @@ def __setitem__(self, key, value):
758753 self .assertRaises (frozendict_error ,
759754 exec , code , {'__builtins__' : frozen_builtins })
760755
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+
761765 # read-only globals
762766 namespace = frozendict ({})
763767 code = compile ("x=1" , "test" , "exec" )
0 commit comments