Skip to content

Commit 46a493e

Browse files
gh-94808: add tests covering PyEval_GetFuncDesc function (GH-98300)
(cherry picked from commit b5f7111) Co-authored-by: Nikita Sobolev <[email protected]>
1 parent 573b451 commit 46a493e

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

Lib/test/test_capi.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,21 @@ def method_example(self): ...
751751
self.assertEqual(_testcapi.eval_get_func_name(sum), "sum") # c function
752752
self.assertEqual(_testcapi.eval_get_func_name(A), "type")
753753

754+
def test_eval_get_func_desc(self):
755+
def function_example(): ...
756+
757+
class A:
758+
def method_example(self): ...
759+
760+
self.assertEqual(_testcapi.eval_get_func_desc(function_example),
761+
"()")
762+
self.assertEqual(_testcapi.eval_get_func_desc(A.method_example),
763+
"()")
764+
self.assertEqual(_testcapi.eval_get_func_desc(A().method_example),
765+
"()")
766+
self.assertEqual(_testcapi.eval_get_func_desc(sum), "()") # c function
767+
self.assertEqual(_testcapi.eval_get_func_desc(A), " object")
768+
754769
def test_function_get_code(self):
755770
import types
756771

Modules/_testcapimodule.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5975,6 +5975,12 @@ eval_get_func_name(PyObject *self, PyObject *func)
59755975
return PyUnicode_FromString(PyEval_GetFuncName(func));
59765976
}
59775977

5978+
static PyObject *
5979+
eval_get_func_desc(PyObject *self, PyObject *func)
5980+
{
5981+
return PyUnicode_FromString(PyEval_GetFuncDesc(func));
5982+
}
5983+
59785984
static PyObject *
59795985
get_feature_macros(PyObject *self, PyObject *Py_UNUSED(args))
59805986
{
@@ -6452,6 +6458,7 @@ static PyMethodDef TestMethods[] = {
64526458
{"frame_getbuiltins", frame_getbuiltins, METH_O, NULL},
64536459
{"frame_getlasti", frame_getlasti, METH_O, NULL},
64546460
{"eval_get_func_name", eval_get_func_name, METH_O, NULL},
6461+
{"eval_get_func_desc", eval_get_func_desc, METH_O, NULL},
64556462
{"get_feature_macros", get_feature_macros, METH_NOARGS, NULL},
64566463
{"test_code_api", test_code_api, METH_NOARGS, NULL},
64576464
{"settrace_to_record", settrace_to_record, METH_O, NULL},

0 commit comments

Comments
 (0)