code: def pytest_runtest_protocol(
      item: "Item", nextitem: "Optional[Item]"
  ) -> Optional[object]:
      """Perform the runtest protocol for a single test item.
  
      The default runtest protocol is this (see individual hooks for full details):
  
      - ``pytest_runtest_logstart(nodeid, location)``
  
      - Setup phase:
          - ``call = pytest_runtest_setup(item)`` (wrapped in ``CallInfo(when="setup")``)
          - ``report = pytest_runtest_makereport(item, call)``
          - ``pytest_runtest_logreport(report)``
          - ``pytest_exception_interact(call, report)`` if an interactive exception occurred
  
      - Call phase, if the the setup passed and the ``setuponly`` pytest option is not set:
          - ``call = pytest_runtest_call(item)`` (wrapped in ``CallInfo(when="call")``)
          - ``report = pytest_runtest_makereport(item, call)``
          - ``pytest_runtest_logreport(report)``
          - ``pytest_exception_interact(call, report)`` if an interactive exception occurred
  
      - Teardown phase:
          - ``call = pytest_runtest_teardown(item, nextitem)`` (wrapped in ``CallInfo(when="teardown")``)
          - ``report = pytest_runtest_makereport(item, call)``
          - ``pytest_runtest_logreport(report)``
          - ``pytest_exception_interact(call, report)`` if an interactive exception occurred
  
      - ``pytest_runtest_logfinish(nodeid, location)``
  
      :param item: Test item for which the runtest protocol is performed.
      :param nextitem: The scheduled-to-be-next test item (or None if this is the end my friend).
  
      Stops at first non-None result, see :ref:`firstresult`.
      The return value is not used, but only stops further processing.
      """
  
imports: from pathlib import Path
  from typing import Any
  from typing import Dict
  from typing import List
  from typing import Mapping
  from typing import Optional
  from typing import Sequence
  from typing import Tuple
  from typing import TYPE_CHECKING
  from typing import Union
  from pluggy import HookspecMarker
  from _pytest.deprecated import WARNING_CMDLINE_PREPARSE_HOOK
label_desc: Use image node_id 25 for calling a global function with example usage: pytest_runtest_protocol(item, nextitem) without return types