code: def test_parameterized_repo(tmp_dir, dvc, scm, erepo_dir, paths):
      path = erepo_dir.joinpath(*paths)
      path.mkdir(parents=True, exist_ok=True)
      (path / "params.yaml").dump({"out": "foo"})
      (path / "dvc.yaml").dump(
          {
              "stages": {
                  "train": {
                      "cmd": "echo ${out} > ${out}",
                      "outs": ["${out}"],
                  },
              }
          }
      )
      path.gen({"foo": "foo"})
      with path.chdir():
          erepo_dir.dvc.commit(None, force=True)
          erepo_dir.scm.add_commit(
              ["params.yaml", "dvc.yaml", "dvc.lock", ".gitignore"],
              message="init",
          )
  
      to_import = os.path.join(*paths, "foo")
      stage = dvc.imp(os.fspath(erepo_dir), to_import, "foo_imported")
  
      assert (tmp_dir / "foo_imported").read_text() == "foo"
      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 34 for calling a global function with example usage: test_parameterized_repo(tmp_dir, dvc, scm, erepo_dir, paths) without return types