code: def check_abstract_methods(base, subclass):
      """Raises AssertionError if ``subclass`` does not override a method on
      ``base`` that is marked as an abstract method.
      """
  
      for attrname in dir(base):
          if attrname.startswith("_"):
              continue
          attr = getattr(base, attrname)
          if is_abstract_method(attr):
              oattr = getattr(subclass, attrname)
              if is_abstract_method(oattr):
                  raise Exception(
                      "%s.%s not overridden"
                      % (subclass.__name__, attrname)
                  )
  
imports: import os.path
  import shutil
  import sys
  import tempfile
  from contextlib import contextmanager
  from whoosh.filedb.filestore import FileStorage
  from whoosh.util import now, random_name
label_desc: Use image node_id 2 for calling a global function with example usage: check_abstract_methods(base, subclass) without return types