mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 07:17:17 +00:00
fix: explicitly process list of packages
Small workaround to remove debug packages from being processed
This commit is contained in:
parent
88ee300b9e
commit
f7f76c4119
@ -207,11 +207,12 @@ class PackageArchive:
|
||||
dependencies = set()
|
||||
roots: set[Path] = set()
|
||||
|
||||
package_dir = self.root / "build" / self.package.base / "pkg"
|
||||
for path in filter(lambda p: p.is_file(), walk(package_dir)):
|
||||
dependencies.update(PackageArchive.dynamic_needed(path))
|
||||
filesystem_path = Path(*path.relative_to(package_dir).parts[1:])
|
||||
roots.update(filesystem_path.parents[:-1]) # last element is always . because paths are relative
|
||||
for package in self.package.packages:
|
||||
package_dir = self.root / "build" / self.package.base / "pkg" / package
|
||||
for path in filter(lambda p: p.is_file(), walk(package_dir)):
|
||||
dependencies.update(PackageArchive.dynamic_needed(path))
|
||||
filesystem_path = Path(*path.relative_to(package_dir).parts)
|
||||
roots.update(filesystem_path.parents[:-1]) # last element is always . because paths are relative
|
||||
|
||||
return dependencies, roots
|
||||
|
||||
|
@ -188,10 +188,11 @@ def test_depends_on_paths(package_archive_ahriman: PackageArchive, mocker: Mocke
|
||||
"""
|
||||
must correctly extract dependencies
|
||||
"""
|
||||
package_dir = package_archive_ahriman.root / "build" / package_archive_ahriman.package.base / "pkg"
|
||||
package_dir = package_archive_ahriman.root / "build" / \
|
||||
package_archive_ahriman.package.base / "pkg" / package_archive_ahriman.package.base
|
||||
dynamic_mock = mocker.patch("ahriman.models.package_archive.PackageArchive.dynamic_needed", return_value=["lib"])
|
||||
walk_mock = mocker.patch("ahriman.models.package_archive.walk", return_value=[
|
||||
package_dir / package_archive_ahriman.package.base / "root" / "file",
|
||||
package_dir / "root" / "file",
|
||||
Path("directory"),
|
||||
])
|
||||
mocker.patch("pathlib.Path.is_file", autospec=True, side_effect=lambda path: path != Path("directory"))
|
||||
@ -199,7 +200,7 @@ def test_depends_on_paths(package_archive_ahriman: PackageArchive, mocker: Mocke
|
||||
dependencies, roots = package_archive_ahriman.depends_on_paths()
|
||||
assert dependencies == {"lib"}
|
||||
assert roots == {Path("root")}
|
||||
dynamic_mock.assert_called_once_with(package_dir / package_archive_ahriman.package.base / "root" / "file")
|
||||
dynamic_mock.assert_called_once_with(package_dir / "root" / "file")
|
||||
walk_mock.assert_called_once_with(package_dir)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user