mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-10-31 11:56:44 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | |
| 
 | |
| import pytest
 | |
| 
 | |
| import env  # noqa: F401
 | |
| from pybind11_tests import eval_ as m
 | |
| 
 | |
| 
 | |
| def test_evals(capture):
 | |
|     with capture:
 | |
|         assert m.test_eval_statements()
 | |
|     assert capture == "Hello World!"
 | |
| 
 | |
|     assert m.test_eval()
 | |
|     assert m.test_eval_single_statement()
 | |
| 
 | |
|     assert m.test_eval_failure()
 | |
| 
 | |
| 
 | |
| @pytest.mark.xfail("env.PYPY", raises=RuntimeError)
 | |
| def test_eval_file():
 | |
|     filename = os.path.join(os.path.dirname(__file__), "test_eval_call.py")
 | |
|     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
 | |
| 
 | |
| 
 | |
| def test_eval_closure():
 | |
|     global_, local = m.test_eval_closure()
 | |
| 
 | |
|     assert global_["closure_value"] == 42
 | |
|     assert local["closure_value"] == 0
 | |
| 
 | |
|     assert "local_value" not in global_
 | |
|     assert local["local_value"] == 0
 | |
| 
 | |
|     assert "func_global" not in global_
 | |
|     assert local["func_global"]() == 42
 | |
| 
 | |
|     assert "func_local" not in global_
 | |
|     with pytest.raises(NameError):
 | |
|         local["func_local"]()
 | 
