code: def test_autosummary_recursive_skips_mocked_modules(
      app, status, warning
  ):
      sys.modules.pop(
          "package", None
      )  # unload target module to clear the module cache
      app.build()
  
      assert (app.srcdir / "generated" / "package.rst").exists()
      assert (app.srcdir / "generated" / "package.module.rst").exists()
      assert (
          app.srcdir / "generated" / "package.package.rst"
      ).exists() is False
      assert (
          app.srcdir / "generated" / "package.package.module.rst"
      ).exists() is False
  
imports: import sys
  from io import StringIO
  from pathlib import Path
  from unittest.mock import Mock, patch
  import pytest
  from docutils import nodes
  from sphinx import addnodes
  from sphinx.ext.autosummary import autosummary_table, autosummary_toc, extract_summary, import_by_name, mangle_signature
  from sphinx.ext.autosummary.generate import AutosummaryEntry, generate_autosummary_content, generate_autosummary_docs
  from sphinx.ext.autosummary.generate import main
  from sphinx.testing.util import assert_node, etree_parse
  from sphinx.util.docutils import new_document
label_desc: Use image node_id 16 for calling a global function with example usage: test_autosummary_recursive_skips_mocked_modules(app, status, warning) without return types