mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
gh-111495: Add more tests on PyEval C APIs (#122789)
* Add Lib/test/test_capi/test_eval.py * Add Modules/_testlimitedcapi/eval.c
This commit is contained in:
parent
81c739e2dc
commit
bf8b374639
9 changed files with 205 additions and 65 deletions
|
@ -869,36 +869,6 @@ class CAPITest(unittest.TestCase):
|
|||
_testcapi.clear_managed_dict(c)
|
||||
self.assertEqual(c.__dict__, {})
|
||||
|
||||
def test_eval_get_func_name(self):
|
||||
def function_example(): ...
|
||||
|
||||
class A:
|
||||
def method_example(self): ...
|
||||
|
||||
self.assertEqual(_testcapi.eval_get_func_name(function_example),
|
||||
"function_example")
|
||||
self.assertEqual(_testcapi.eval_get_func_name(A.method_example),
|
||||
"method_example")
|
||||
self.assertEqual(_testcapi.eval_get_func_name(A().method_example),
|
||||
"method_example")
|
||||
self.assertEqual(_testcapi.eval_get_func_name(sum), "sum") # c function
|
||||
self.assertEqual(_testcapi.eval_get_func_name(A), "type")
|
||||
|
||||
def test_eval_get_func_desc(self):
|
||||
def function_example(): ...
|
||||
|
||||
class A:
|
||||
def method_example(self): ...
|
||||
|
||||
self.assertEqual(_testcapi.eval_get_func_desc(function_example),
|
||||
"()")
|
||||
self.assertEqual(_testcapi.eval_get_func_desc(A.method_example),
|
||||
"()")
|
||||
self.assertEqual(_testcapi.eval_get_func_desc(A().method_example),
|
||||
"()")
|
||||
self.assertEqual(_testcapi.eval_get_func_desc(sum), "()") # c function
|
||||
self.assertEqual(_testcapi.eval_get_func_desc(A), " object")
|
||||
|
||||
def test_function_get_code(self):
|
||||
import types
|
||||
|
||||
|
@ -1157,19 +1127,6 @@ class CAPITest(unittest.TestCase):
|
|||
gen = genf()
|
||||
self.assertEqual(_testcapi.gen_get_code(gen), gen.gi_code)
|
||||
|
||||
def test_pyeval_getlocals(self):
|
||||
# Test PyEval_GetLocals()
|
||||
x = 1
|
||||
self.assertEqual(_testcapi.pyeval_getlocals(),
|
||||
{'self': self,
|
||||
'x': 1})
|
||||
|
||||
y = 2
|
||||
self.assertEqual(_testcapi.pyeval_getlocals(),
|
||||
{'self': self,
|
||||
'x': 1,
|
||||
'y': 2})
|
||||
|
||||
|
||||
@requires_limited_api
|
||||
class TestHeapTypeRelative(unittest.TestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue