code: def call_runtest_hook(item, when, **kwds):
      hookname = "pytest_runtest_" + when
      ihook = getattr(item.ihook, hookname)
      reraise = (Exit,)
      if not item.config.getoption("usepdb", False):
          reraise += (KeyboardInterrupt,)
      return CallInfo.from_call(
          lambda: ihook(item=item, **kwds), when=when, reraise=reraise
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import bdb
  import os
  import sys
  from time import time
  import attr
  import six
  from .reports import CollectErrorRepr
  from .reports import CollectReport
  from .reports import TestReport
  from _pytest._code.code import ExceptionInfo
  from _pytest.compat import safe_str
  from _pytest.outcomes import Exit
  from _pytest.outcomes import Skipped
  from _pytest.outcomes import TEST_OUTCOME
label_desc: Use image node_id 15 for calling a global function with example usage: call_runtest_hook(item, when) and returns: CallInfo