|
1 | 1 | import os |
2 | | -import shutil |
3 | 2 | from pathlib import Path |
4 | 3 |
|
5 | 4 | import pytest |
@@ -111,29 +110,20 @@ def test_licenses(self): |
111 | 110 | assert secondary.licenses == ["a", "b"] |
112 | 111 |
|
113 | 112 | @pytest.mark.parallel |
114 | | - def test_pkg_metadata_regen(self, tmpdir): |
115 | | - orig_repo = TEST_DATA.repos["metadata"] |
116 | | - # copy original repo to a temp dir |
117 | | - repo_path = shutil.copytree(orig_repo.path, tmpdir.join("repo")) |
118 | | - repo = EbuildRepo(repo_path) |
119 | | - metadata_path = repo.path.joinpath("metadata/md5-cache") |
120 | | - |
121 | | - def metadata_content(): |
| 113 | + def test_metadata_regen(self, tmpdir): |
| 114 | + def metadata_content(path): |
122 | 115 | """Yield metadata file names and content.""" |
123 | | - for root, _dirs, files in os.walk(metadata_path): |
| 116 | + for root, _dirs, files in os.walk(path): |
124 | 117 | for name in files: |
125 | 118 | with open(os.path.join(root, name)) as f: |
126 | 119 | yield (name, f.read()) |
127 | 120 |
|
128 | | - # record expected metadata file content |
129 | | - expected = sorted(metadata_content()) |
130 | | - # wipe metadata |
131 | | - shutil.rmtree(metadata_path) |
132 | | - # regenerate metadata |
133 | | - repo.pkg_metadata_regen() |
| 121 | + repo = TEST_DATA.repos["metadata"] |
| 122 | + # regenerate metadata to an external path |
| 123 | + repo.metadata_regen(force=True, path=str(tmpdir)) |
134 | 124 | # verify new data matches original |
135 | | - data = sorted(metadata_content()) |
136 | | - assert data == expected |
| 125 | + data = sorted(metadata_content(tmpdir)) |
| 126 | + assert data == sorted(metadata_content(repo.path.joinpath("metadata/md5-cache"))) |
137 | 127 |
|
138 | 128 |
|
139 | 129 | class TestEbuildRepoMetadata: |
|
0 commit comments