Removed the Requirement to Install Python and NodeJS (Now Bundled with Borealis)
This commit is contained in:
103
Dependencies/Python/Lib/test/test_capi/test_eval.py
vendored
Normal file
103
Dependencies/Python/Lib/test/test_capi/test_eval.py
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
import sys
|
||||
import unittest
|
||||
from test.support import import_helper
|
||||
|
||||
_testlimitedcapi = import_helper.import_module('_testlimitedcapi')
|
||||
|
||||
|
||||
class Tests(unittest.TestCase):
|
||||
def test_eval_get_func_name(self):
|
||||
eval_get_func_name = _testlimitedcapi.eval_get_func_name
|
||||
|
||||
def function_example(): ...
|
||||
|
||||
class A:
|
||||
def method_example(self): ...
|
||||
|
||||
self.assertEqual(eval_get_func_name(function_example),
|
||||
"function_example")
|
||||
self.assertEqual(eval_get_func_name(A.method_example),
|
||||
"method_example")
|
||||
self.assertEqual(eval_get_func_name(A().method_example),
|
||||
"method_example")
|
||||
self.assertEqual(eval_get_func_name(sum), "sum") # c function
|
||||
self.assertEqual(eval_get_func_name(A), "type")
|
||||
|
||||
def test_eval_get_func_desc(self):
|
||||
eval_get_func_desc = _testlimitedcapi.eval_get_func_desc
|
||||
|
||||
def function_example(): ...
|
||||
|
||||
class A:
|
||||
def method_example(self): ...
|
||||
|
||||
self.assertEqual(eval_get_func_desc(function_example),
|
||||
"()")
|
||||
self.assertEqual(eval_get_func_desc(A.method_example),
|
||||
"()")
|
||||
self.assertEqual(eval_get_func_desc(A().method_example),
|
||||
"()")
|
||||
self.assertEqual(eval_get_func_desc(sum), "()") # c function
|
||||
self.assertEqual(eval_get_func_desc(A), " object")
|
||||
|
||||
def test_eval_getlocals(self):
|
||||
# Test PyEval_GetLocals()
|
||||
x = 1
|
||||
self.assertEqual(_testlimitedcapi.eval_getlocals(),
|
||||
{'self': self,
|
||||
'x': 1})
|
||||
|
||||
y = 2
|
||||
self.assertEqual(_testlimitedcapi.eval_getlocals(),
|
||||
{'self': self,
|
||||
'x': 1,
|
||||
'y': 2})
|
||||
|
||||
def test_eval_getglobals(self):
|
||||
# Test PyEval_GetGlobals()
|
||||
self.assertEqual(_testlimitedcapi.eval_getglobals(),
|
||||
globals())
|
||||
|
||||
def test_eval_getbuiltins(self):
|
||||
# Test PyEval_GetBuiltins()
|
||||
self.assertEqual(_testlimitedcapi.eval_getbuiltins(),
|
||||
globals()['__builtins__'])
|
||||
|
||||
def test_eval_getframe(self):
|
||||
# Test PyEval_GetFrame()
|
||||
self.assertEqual(_testlimitedcapi.eval_getframe(),
|
||||
sys._getframe())
|
||||
|
||||
def test_eval_getframe_builtins(self):
|
||||
# Test PyEval_GetFrameBuiltins()
|
||||
self.assertEqual(_testlimitedcapi.eval_getframe_builtins(),
|
||||
sys._getframe().f_builtins)
|
||||
|
||||
def test_eval_getframe_globals(self):
|
||||
# Test PyEval_GetFrameGlobals()
|
||||
self.assertEqual(_testlimitedcapi.eval_getframe_globals(),
|
||||
sys._getframe().f_globals)
|
||||
|
||||
def test_eval_getframe_locals(self):
|
||||
# Test PyEval_GetFrameLocals()
|
||||
self.assertEqual(_testlimitedcapi.eval_getframe_locals(),
|
||||
sys._getframe().f_locals)
|
||||
|
||||
def test_eval_get_recursion_limit(self):
|
||||
# Test Py_GetRecursionLimit()
|
||||
self.assertEqual(_testlimitedcapi.eval_get_recursion_limit(),
|
||||
sys.getrecursionlimit())
|
||||
|
||||
def test_eval_set_recursion_limit(self):
|
||||
# Test Py_SetRecursionLimit()
|
||||
old_limit = sys.getrecursionlimit()
|
||||
try:
|
||||
limit = old_limit + 123
|
||||
_testlimitedcapi.eval_set_recursion_limit(limit)
|
||||
self.assertEqual(sys.getrecursionlimit(), limit)
|
||||
finally:
|
||||
sys.setrecursionlimit(old_limit)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
Reference in New Issue
Block a user