github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/pybind11/tests/test_eval.py (about)

     1  import os
     2  
     3  import pytest
     4  
     5  import env  # noqa: F401
     6  from pybind11_tests import eval_ as m
     7  
     8  
     9  def test_evals(capture):
    10      with capture:
    11          assert m.test_eval_statements()
    12      assert capture == "Hello World!"
    13  
    14      assert m.test_eval()
    15      assert m.test_eval_single_statement()
    16  
    17      assert m.test_eval_failure()
    18  
    19  
    20  @pytest.mark.xfail("env.PYPY", raises=RuntimeError)
    21  def test_eval_file():
    22      filename = os.path.join(os.path.dirname(__file__), "test_eval_call.py")
    23      assert m.test_eval_file(filename)
    24  
    25      assert m.test_eval_file_failure()
    26  
    27  
    28  def test_eval_empty_globals():
    29      assert "__builtins__" in m.eval_empty_globals(None)
    30  
    31      g = {}
    32      assert "__builtins__" in m.eval_empty_globals(g)
    33      assert "__builtins__" in g
    34  
    35  
    36  def test_eval_closure():
    37      global_, local = m.test_eval_closure()
    38  
    39      assert global_["closure_value"] == 42
    40      assert local["closure_value"] == 0
    41  
    42      assert "local_value" not in global_
    43      assert local["local_value"] == 0
    44  
    45      assert "func_global" not in global_
    46      assert local["func_global"]() == 42
    47  
    48      assert "func_local" not in global_
    49      with pytest.raises(NameError):
    50          local["func_local"]()