code: def test_gc_not_collect_pipeline_tracked_files(
      tmp_dir, dvc, run_copy
  ):
      from dvc.dvcfile import PROJECT_FILE, load_file
  
      tmp_dir.gen("foo", "foo")
      tmp_dir.gen("bar", "bar")
  
      run_copy("foo", "foo2", name="copy")
      shutil.rmtree(dvc.stage_cache.cache_dir)
      assert _count_files(dvc.cache.local.path) == 1
      dvc.gc(workspace=True, force=True)
      assert _count_files(dvc.cache.local.path) == 1
  
      # remove pipeline file and lockfile and check
      load_file(dvc, PROJECT_FILE).remove(force=True)
      dvc.gc(workspace=True, force=True)
      assert _count_files(dvc.cache.local.path) == 0
  
imports: import datetime
  import logging
  import os
  import shutil
  import textwrap
  import pytest
  from dvc.cli import main
  from dvc.exceptions import CollectCacheError, InvalidArgumentError, RevCollectionError
  from dvc.fs import LocalFileSystem
  from dvc.utils.fs import remove
  from dvc_data.hashfile.db.local import LocalHashFileDB
label_desc: Use image node_id 17 for calling a global function with example usage: test_gc_not_collect_pipeline_tracked_files(tmp_dir, dvc, run_copy) without return types