code: def test_bad_modules(self):
      # Test SystemError is raised for misbehaving extensions.
      for name_base in [
          "bad_slot_large",
          "bad_slot_negative",
          "create_int_with_state",
          "negative_size",
          "export_null",
          "export_uninitialized",
          "export_raise",
          "export_unreported_exception",
          "create_null",
          "create_raise",
          "create_unreported_exception",
          "nonmodule_with_exec_slots",
          "exec_err",
          "exec_raise",
          "exec_unreported_exception",
          "multiple_create_slots",
          "multiple_multiple_interpreters_slots",
      ]:
          with self.subTest(name_base):
              name = self.name + "_" + name_base
              with self.assertRaises(SystemError) as cm:
                  self.load_module_by_name(name)
  
              # If there is an unreported exception, it should be chained
              # with the `SystemError`.
              if "unreported_exception" in name_base:
                  self.assertIsNotNone(cm.exception.__cause__)
  
imports: from test.test_importlib import abc, util
  import os.path
  import sys
  import types
  import unittest
  import warnings
  import importlib.util
  import importlib
  from test.support import MISSING_C_DOCSTRINGS
label_desc: Use image node_id 16 for calling the MultiPhaseExtensionModuleTests obj's underlying member method code with example usage: obj.test_bad_modules() without return types