code: def test_walk_mixed_dir(tmp_dir, scm, dvc):
      tmp_dir.gen({"dir": {"foo": "foo", "bar": "bar"}})
      tmp_dir.dvc.add(os.path.join("dir", "foo"))
      tmp_dir.scm.add(
          [
              os.path.join("dir", "bar"),
              os.path.join("dir", ".gitignore"),
              os.path.join("dir", "foo.dvc"),
          ]
      )
      tmp_dir.scm.commit("add dir")
  
      fs = DVCFileSystem(repo=dvc)
  
      expected = [
          "dir/foo",
          "dir/bar",
          "dir/.gitignore",
      ]
      actual = []
      for root, dirs, files in fs.walk("dir"):
          for entry in dirs + files:
              actual.append(posixpath.join(root, entry))
  
      assert set(actual) == set(expected)
      assert len(actual) == len(expected)
  
imports: import os
  import posixpath
  import shutil
  import pytest
  from fsspec.utils import tokenize
  from dvc.fs import localfs
  from dvc.fs.dvc import DVCFileSystem
  from dvc.testing.tmp_dir import make_subrepo
  from dvc_data.hashfile.build import build
  from dvc_data.hashfile.hash_info import HashInfo
label_desc: Use image node_id 15 for calling a global function with example usage: test_walk_mixed_dir(tmp_dir, scm, dvc) without return types