Add __builtins__ to globals argument of py::exec and py::eval if not present (#2616)

* Add __builtins__ to globals argument of `py::exec` and `py::eval` if not present

* Refactor into inline ensure_builtins_in_globals function
This commit is contained in:
Yannick Jadoul
2020-10-27 19:58:27 +01:00
committed by GitHub
parent ace4deb4f0
commit 3a37d33830
3 changed files with 36 additions and 0 deletions

View File

@@ -25,3 +25,11 @@ def test_eval_file():
assert m.test_eval_file(filename)
assert m.test_eval_file_failure()
def test_eval_empty_globals():
assert "__builtins__" in m.eval_empty_globals(None)
g = {}
assert "__builtins__" in m.eval_empty_globals(g)
assert "__builtins__" in g