code: def call_and_report(item, when, log=True, **kwds):
      call = call_runtest_hook(item, when, **kwds)
      hook = item.ihook
      report = hook.pytest_runtest_makereport(item=item, call=call)
      if log:
          hook.pytest_runtest_logreport(report=report)
      if check_interactive_exception(call, report):
          hook.pytest_exception_interact(
              node=item, call=call, report=report
          )
      return report
  
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 13 for calling a global function with example usage: call_and_report(item, when, log) and returns: report