code: def test_repro_skip_pull_if_no_run_cache_is_passed(
      tmp_dir, dvc, mocker, local_remote
  ):
      (foo,) = tmp_dir.dvc_gen("foo", "foo")
  
      dvc.push()
      spy_pull = mocker.spy(dvc.stage_cache, "pull")
      dvc.stage.add(
          name="copy-foo", cmd="cp foo bar", deps=["foo"], outs=["bar"]
      )
      remove("foo")
      remove(foo.outs[0].cache_path)
  
      assert dvc.reproduce(pull=True, run_cache=False)
      assert not spy_pull.called
  
imports: import os
  from dvc.stage.cache import RunCacheNotSupported
  from dvc.utils.fs import remove
label_desc: Use image node_id 4 for calling a global function with example usage: test_repro_skip_pull_if_no_run_cache_is_passed(tmp_dir, dvc, mocker, local_remote) without return types