code: def test_domain_c_parse_cfunction(app):
      text = (
          ".. c:function:: PyObject* "
          "PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)"
      )
      doctree = restructuredtext.parse(app, text)
      assert_node(
          doctree[1],
          addnodes.desc,
          desctype="function",
          domain="c",
          objtype="function",
          no_index=False,
      )
  
      entry = _get_obj(app, "PyType_GenericAlloc")
      assert entry == ("index", "c.PyType_GenericAlloc", "function")
  
imports: import itertools
  import zlib
  from xml.etree import ElementTree
  import pytest
  from sphinx import addnodes
  from sphinx.addnodes import desc, desc_content, desc_name, desc_parameter, desc_parameterlist, desc_sig_name, desc_sig_space, desc_signature, desc_signature_line, pending_xref
  from sphinx.domains.c import DefinitionError, DefinitionParser, Symbol, _id_prefix, _macroKeywords, _max_id
  from sphinx.ext.intersphinx import load_mappings, normalize_intersphinx_mapping
  from sphinx.testing import restructuredtext
  from sphinx.testing.util import assert_node
  from sphinx.writers.text import STDINDENT
label_desc: Use image node_id 30 for calling a global function with example usage: test_domain_c_parse_cfunction(app) without return types