code: def test_inspect_getsource_issue4223(self):
      test_src = "def foo(): pass\n"
      with os_helper.temp_dir() as d:
          init_name = make_script(d, "__init__", test_src)
          name_in_zip = os.path.join(
              "zip_pkg", os.path.basename(init_name)
          )
          zip_name, run_name = make_zip_script(
              d, "test_zip", init_name, name_in_zip
          )
          os.remove(init_name)
          sys.path.insert(0, zip_name)
          import zip_pkg
  
          try:
              self.assertEqual(inspect.getsource(zip_pkg.foo), test_src)
          finally:
              del sys.modules["zip_pkg"]
  
imports: import test.support
  import os
  import os.path
  import sys
  import textwrap
  import zipfile
  import zipimport
  import doctest
  import inspect
  import linecache
  import unittest
  from test.support import os_helper
  from test.support.script_helper import spawn_python, kill_python, assert_python_ok, make_script, make_zip_script
  from test import test_doctest, sample_doctest, sample_doctest_no_doctests, sample_doctest_no_docstrings
label_desc: Use image node_id 3 for calling the ZipSupportTests obj's underlying member method code with example usage: obj.test_inspect_getsource_issue4223() without return types