code: def test_pipeline_file_target_ops(
      tmp_dir, dvc, run_copy, local_remote
  ):
      path = local_remote.url
      tmp_dir.dvc_gen("foo", "foo")
  
      tmp_dir.dvc_gen("lorem", "lorem")
      run_copy("lorem", "lorem2", name="copy-lorem-lorem2")
  
      tmp_dir.dvc_gen("ipsum", "ipsum")
      run_copy("ipsum", "baz", name="copy-ipsum-baz")
  
      outs = ["foo", "lorem", "ipsum", "baz", "lorem2"]
  
      remove(dvc.stage_cache.cache_dir)
  
      dvc.push()
  
      outs = ["foo", "lorem", "ipsum", "baz", "lorem2"]
  
      # each one's a copy of other, hence 3
      assert len(recurse_list_dir(path)) == 3
  
      clean(outs, dvc)
      assert set(dvc.pull(["dvc.yaml"])["added"]) == {"lorem2", "baz"}
  
      clean(outs, dvc)
      assert set(dvc.pull()["added"]) == set(outs)
  
      # clean everything in remote and push
      from dvc.testing.tmp_dir import TmpDir
  
      clean(TmpDir(path).iterdir())
      dvc.push(["dvc.yaml:copy-ipsum-baz"])
      assert len(recurse_list_dir(path)) == 1
  
      clean(TmpDir(path).iterdir())
      dvc.push(["dvc.yaml"])
      assert len(recurse_list_dir(path)) == 2
  
      with pytest.raises(StageNotFound):
          dvc.push(["dvc.yaml:StageThatDoesNotExist"])
  
      with pytest.raises(StageNotFound):
          dvc.pull(["dvc.yaml:StageThatDoesNotExist"])
  
imports: import logging
  import os
  import shutil
  import pytest
  from flaky.flaky_decorator import flaky
  import dvc_data
  from dvc.cli import main
  from dvc.exceptions import CheckoutError
  from dvc.repo.open_repo import clean_repos
  from dvc.stage.exceptions import StageNotFound
  from dvc.testing.remote_tests import TestRemote
  from dvc.utils.fs import remove
  from dvc_data.hashfile.db import HashFileDB
  from dvc_data.hashfile.db.local import LocalHashFileDB
  from dvc_data.hashfile.hash_info import HashInfo
label_desc: Use image node_id 14 for calling a global function with example usage: test_pipeline_file_target_ops(tmp_dir, dvc, run_copy, local_remote) without return types