| 161 | |
| 162 | |
| 163 | def test_walk_dir(tmp_dir, dvc): |
| 164 | tmp_dir.gen( |
| 165 | { |
| 166 | "dir": { |
| 167 | "subdir1": {"foo1": "foo1", "bar1": "bar1"}, |
| 168 | "subdir2": {"foo2": "foo2"}, |
| 169 | "foo": "foo", |
| 170 | "bar": "bar", |
| 171 | } |
| 172 | } |
| 173 | ) |
| 174 | |
| 175 | dvc.add("dir") |
| 176 | fs = DataFileSystem(index=dvc.index.data["repo"]) |
| 177 | |
| 178 | expected = [ |
| 179 | "dir/subdir1", |
| 180 | "dir/subdir2", |
| 181 | "dir/subdir1/foo1", |
| 182 | "dir/subdir1/bar1", |
| 183 | "dir/subdir2/foo2", |
| 184 | "dir/foo", |
| 185 | "dir/bar", |
| 186 | ] |
| 187 | |
| 188 | actual = [] |
| 189 | for root, dirs, files in fs.walk("dir"): |
| 190 | for entry in dirs + files: |
| 191 | actual.append(posixpath.join(root, entry)) |
| 192 | |
| 193 | assert set(actual) == set(expected) |
| 194 | assert len(actual) == len(expected) |
| 195 | |
| 196 | |
| 197 | def test_walk_missing(tmp_dir, dvc): |