code: def test_import_non_cached(erepo_dir, tmp_dir, dvc, scm):
      src = "non_cached_output"
      dst = src + "_imported"
  
      with erepo_dir.chdir():
          erepo_dir.dvc.run(
              cmd=f"echo hello > {src}",
              outs_no_cache=[src],
              name="gen",
          )
  
      erepo_dir.scm_add(
          [os.fspath(erepo_dir / src)], commit="add a non-cached out"
      )
  
      stage = tmp_dir.dvc.imp(os.fspath(erepo_dir), src, dst)
  
      assert (tmp_dir / dst).is_file()
      assert filecmp.cmp(erepo_dir / src, tmp_dir / dst, shallow=False)
      assert tmp_dir.scm.is_ignored(dst)
      assert stage.deps[0].def_repo == {
          "url": os.fspath(erepo_dir),
          "rev_lock": erepo_dir.scm.get_rev(),
      }
  
imports: import filecmp
  import os
  import pytest
  from funcy import first
  from dvc.cachemgr import CacheManager
  from dvc.config import NoRemoteError
  from dvc.dvcfile import load_file
  from dvc.fs import system
  from dvc.scm import Git
  from dvc.stage.exceptions import StagePathNotFoundError
  from dvc.testing.tmp_dir import make_subrepo
  from dvc.utils.fs import remove
  from dvc_data.index.index import DataIndexDirError
label_desc: Use image node_id 9 for calling a global function with example usage: test_import_non_cached(erepo_dir, tmp_dir, dvc, scm) without return types