code: def pytest_collection_modifyitems(items, config):
      rootdir = pathlib.Path(config.rootdir)
      for item in items:
          rel_path = pathlib.Path(item.fspath).relative_to(rootdir)
          if "qchem" in rel_path.parts:
              mark = getattr(pytest.mark, "qchem")
              item.add_marker(mark)
          if "finite_diff" in rel_path.parts:
              mark = getattr(pytest.mark, "finite-diff")
              item.add_marker(mark)
          if "parameter_shift" in rel_path.parts:
              mark = getattr(pytest.mark, "param-shift")
              item.add_marker(mark)
          if "data" in rel_path.parts:
              mark = getattr(pytest.mark, "data")
              item.add_marker(mark)
  
      # Tests that do not have a specific suite marker are marked `core`
      for item in items:
          markers = {mark.name for mark in item.iter_markers()}
          if (
              not any(
                  elem
                  in [
                      "autograd",
                      "data",
                      "torch",
                      "tf",
                      "jax",
                      "qchem",
                      "qcut",
                      "all_interfaces",
                      "finite-diff",
                      "param-shift",
                  ]
                  for elem in markers
              )
              or not markers
          ):
              item.add_marker(pytest.mark.core)
  
imports: import os
  import pathlib
  import numpy
  import pytest
  import pennylane
  from pennylane.devices import DefaultGaussian
label_desc: Use image node_id 24 for calling a global function with example usage: pytest_collection_modifyitems(items, config) without return types