code: def test_run_params_custom_file(tmp_dir, dvc):
      (tmp_dir / "params2.yaml").dump(supported_params)
      stage = dvc.run(
          name="read_params",
          params=["params2.yaml:lists"],
          cmd="cat params2.yaml",
      )
  
      isinstance(stage.deps[0], ParamsDependency)
      assert stage.deps[0].params == ["lists"]
      lockfile = stage.dvcfile._lockfile
      assert lockfile.load()["stages"]["read_params"]["params"] == {
          "params2.yaml": {"lists": [42, 42.0, "42"]}
      }
  
      data, _ = stage.dvcfile._load()
      assert data["stages"]["read_params"]["params"] == [
          {"params2.yaml": ["lists"]}
      ]
  
imports: import logging
  import os
  import textwrap
  import uuid
  import pytest
  from funcy import get_in
  from dvc.cli import main
  from dvc.dependency import ParamsDependency
  from dvc.dependency.base import DependencyDoesNotExistError
  from dvc.dvcfile import LOCK_FILE, PROJECT_FILE, load_file
  from dvc.exceptions import ArgumentDuplicationError, CircularDependencyError, CyclicGraphError, InvalidArgumentError, OutputDuplicationError, OverlappingOutputPathsError
  from dvc.stage import PipelineStage
  from dvc.stage.exceptions import DuplicateStageName, InvalidStageName, StagePathNotDirectoryError, StagePathNotFoundError, StagePathOutsideError
  from dvc.utils.serialize import load_yaml
label_desc: Use image node_id 16 for calling a global function with example usage: test_run_params_custom_file(tmp_dir, dvc) without return types