(root)/
Python-3.12.0/
Modules/
_testcapi/
docstring.c
       1  #include "parts.h"
       2  
       3  
       4  PyDoc_STRVAR(docstring_empty,
       5  ""
       6  );
       7  
       8  PyDoc_STRVAR(docstring_no_signature,
       9  "This docstring has no signature."
      10  );
      11  
      12  PyDoc_STRVAR(docstring_with_invalid_signature,
      13  "docstring_with_invalid_signature($module, /, boo)\n"
      14  "\n"
      15  "This docstring has an invalid signature."
      16  );
      17  
      18  PyDoc_STRVAR(docstring_with_invalid_signature2,
      19  "docstring_with_invalid_signature2($module, /, boo)\n"
      20  "\n"
      21  "--\n"
      22  "\n"
      23  "This docstring also has an invalid signature."
      24  );
      25  
      26  PyDoc_STRVAR(docstring_with_signature,
      27  "docstring_with_signature($module, /, sig)\n"
      28  "--\n"
      29  "\n"
      30  "This docstring has a valid signature."
      31  );
      32  
      33  PyDoc_STRVAR(docstring_with_signature_but_no_doc,
      34  "docstring_with_signature_but_no_doc($module, /, sig)\n"
      35  "--\n"
      36  "\n"
      37  );
      38  
      39  PyDoc_STRVAR(docstring_with_signature_and_extra_newlines,
      40  "docstring_with_signature_and_extra_newlines($module, /, parameter)\n"
      41  "--\n"
      42  "\n"
      43  "\n"
      44  "This docstring has a valid signature and some extra newlines."
      45  );
      46  
      47  PyDoc_STRVAR(docstring_with_signature_with_defaults,
      48  "docstring_with_signature_with_defaults(module, s='avocado',\n"
      49  "        b=b'bytes', d=3.14, i=35, n=None, t=True, f=False,\n"
      50  "        local=the_number_three, sys=sys.maxsize,\n"
      51  "        exp=sys.maxsize - 1)\n"
      52  "--\n"
      53  "\n"
      54  "\n"
      55  "\n"
      56  "This docstring has a valid signature with parameters,\n"
      57  "and the parameters take defaults of varying types."
      58  );
      59  
      60  /* This is here to provide a docstring for test_descr. */
      61  static PyObject *
      62  test_with_docstring(PyObject *self, PyObject *Py_UNUSED(ignored))
      63  {
      64      Py_RETURN_NONE;
      65  }
      66  
      67  static PyMethodDef test_methods[] = {
      68      {"docstring_empty",
      69          (PyCFunction)test_with_docstring, METH_NOARGS,
      70          docstring_empty},
      71      {"docstring_no_signature",
      72          (PyCFunction)test_with_docstring, METH_NOARGS,
      73          docstring_no_signature},
      74      {"docstring_with_invalid_signature",
      75          (PyCFunction)test_with_docstring, METH_NOARGS,
      76          docstring_with_invalid_signature},
      77      {"docstring_with_invalid_signature2",
      78          (PyCFunction)test_with_docstring, METH_NOARGS,
      79          docstring_with_invalid_signature2},
      80      {"docstring_with_signature",
      81          (PyCFunction)test_with_docstring, METH_NOARGS,
      82          docstring_with_signature},
      83      {"docstring_with_signature_and_extra_newlines",
      84          (PyCFunction)test_with_docstring, METH_NOARGS,
      85          docstring_with_signature_and_extra_newlines},
      86      {"docstring_with_signature_but_no_doc",
      87          (PyCFunction)test_with_docstring, METH_NOARGS,
      88          docstring_with_signature_but_no_doc},
      89      {"docstring_with_signature_with_defaults",
      90          (PyCFunction)test_with_docstring, METH_NOARGS,
      91          docstring_with_signature_with_defaults},
      92      {"no_docstring",
      93          (PyCFunction)test_with_docstring, METH_NOARGS},
      94      {"test_with_docstring",
      95          test_with_docstring,              METH_NOARGS,
      96          PyDoc_STR("This is a pretty normal docstring.")},
      97      {NULL},
      98  };
      99  
     100  int
     101  _PyTestCapi_Init_Docstring(PyObject *mod)
     102  {
     103      if (PyModule_AddFunctions(mod, test_methods) < 0) {
     104          return -1;
     105      }
     106      return 0;
     107  }