test_eval.py 768 B

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- coding: utf-8 -*-
  2. import os
  3. import pytest
  4. import env # noqa: F401
  5. from pybind11_tests import eval_ as m
  6. def test_evals(capture):
  7. with capture:
  8. assert m.test_eval_statements()
  9. assert capture == "Hello World!"
  10. assert m.test_eval()
  11. assert m.test_eval_single_statement()
  12. assert m.test_eval_failure()
  13. @pytest.mark.xfail("env.PYPY and not env.PY2", raises=RuntimeError)
  14. def test_eval_file():
  15. filename = os.path.join(os.path.dirname(__file__), "test_eval_call.py")
  16. assert m.test_eval_file(filename)
  17. assert m.test_eval_file_failure()
  18. def test_eval_empty_globals():
  19. assert "__builtins__" in m.eval_empty_globals(None)
  20. g = {}
  21. assert "__builtins__" in m.eval_empty_globals(g)
  22. assert "__builtins__" in g