code: def make_registry(directory, output, recursive=True):
      
      directory = Path(directory)
      if recursive:
          pattern = "**/*"
      else:
          pattern = "*"
  
      files = sorted(
          [
              str(path.relative_to(directory))
              for path in directory.glob(pattern)
              if path.is_file()
          ]
      )
  
      hashes = [file_hash(str(directory / fname)) for fname in files]
  
      with open(output, "w") as outfile:
          for fname, fhash in zip(files, hashes):
              # Only use Unix separators for the registry so that we don't go insane
              # dealing with file paths.
              outfile.write("{} {}\n".format(fname.replace("\\", "/"), fhash))
docs: Make a registry of files and hashes for the given directory.
  
      This is helpful if you have many files in your test dataset as it keeps you
      from needing to manually update the registry.
  
      Parameters
      ----------
      directory : str
          Directory of the test data to put in the registry. All file names in the
          registry will be relative to this directory.
      output : str
          Name of the output registry file.
      recursive : bool
          If True, will recursively look for files in subdirectories of *directory*.