We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
PyEval_GetFuncDesc
1 parent 12078e7 commit b5f7111Copy full SHA for b5f7111
Lib/test/test_capi.py
@@ -907,6 +907,21 @@ def method_example(self): ...
907
self.assertEqual(_testcapi.eval_get_func_name(sum), "sum") # c function
908
self.assertEqual(_testcapi.eval_get_func_name(A), "type")
909
910
+ def test_eval_get_func_desc(self):
911
+ def function_example(): ...
912
+
913
+ class A:
914
+ def method_example(self): ...
915
916
+ self.assertEqual(_testcapi.eval_get_func_desc(function_example),
917
+ "()")
918
+ self.assertEqual(_testcapi.eval_get_func_desc(A.method_example),
919
920
+ self.assertEqual(_testcapi.eval_get_func_desc(A().method_example),
921
922
+ self.assertEqual(_testcapi.eval_get_func_desc(sum), "()") # c function
923
+ self.assertEqual(_testcapi.eval_get_func_desc(A), " object")
924
925
def test_function_get_code(self):
926
import types
927
Modules/_testcapimodule.c
@@ -5579,6 +5579,12 @@ eval_get_func_name(PyObject *self, PyObject *func)
5579
return PyUnicode_FromString(PyEval_GetFuncName(func));
5580
}
5581
5582
+static PyObject *
5583
+eval_get_func_desc(PyObject *self, PyObject *func)
5584
+{
5585
+ return PyUnicode_FromString(PyEval_GetFuncDesc(func));
5586
+}
5587
5588
static PyObject *
5589
get_feature_macros(PyObject *self, PyObject *Py_UNUSED(args))
5590
{
@@ -6226,6 +6232,7 @@ static PyMethodDef TestMethods[] = {
6226
6232
{"frame_getbuiltins", frame_getbuiltins, METH_O, NULL},
6227
6233
{"frame_getlasti", frame_getlasti, METH_O, NULL},
6228
6234
{"eval_get_func_name", eval_get_func_name, METH_O, NULL},
6235
+ {"eval_get_func_desc", eval_get_func_desc, METH_O, NULL},
6229
6236
{"get_feature_macros", get_feature_macros, METH_NOARGS, NULL},
6230
6237
{"test_code_api", test_code_api, METH_NOARGS, NULL},
6231
6238
{"settrace_to_record", settrace_to_record, METH_O, NULL},
0 commit comments