code: def test_get_hash_dirty_dir(tmp_dir, dvc):
      tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
      (tmp_dir / "dir" / "baz").write_text("baz")
  
      fs = DVCFileSystem(repo=dvc)
      _, meta, obj = build(dvc.cache.local, "dir", fs, "md5")
      assert obj.hash_info == HashInfo(
          "md5", "ba75a2162ca9c29acecb7957105a0bc2.dir"
      )
      assert meta.nfiles == 3
  
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 27 for calling a global function with example usage: test_get_hash_dirty_dir(tmp_dir, dvc) without return types