aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrian Harring <ferringb@gmail.com>2024-01-11 21:43:40 -0800
committerArthur Zamarin <arthurzam@gentoo.org>2024-01-12 09:07:44 +0200
commitf756179726eb700b9d1998d4d1bd16270d8ce1d4 (patch)
tree7b0d4a46aa3e981a85c52d54390b66f339d2c606 /tests
parentfix: tweak CPV parsing rules to match PMS. (diff)
downloadpkgcore-f756179726eb700b9d1998d4d1bd16270d8ce1d4.tar.gz
pkgcore-f756179726eb700b9d1998d4d1bd16270d8ce1d4.tar.bz2
pkgcore-f756179726eb700b9d1998d4d1bd16270d8ce1d4.zip
fix: child repository not inheriting license groups when it defines none
If the child repository defines no license groups, the previous code would exit out before it integrated the parents license groups. This fixes that, and adds tests for it. Signed-off-by: Brian Harring <ferringb@gmail.com> Closes: https://github.com/pkgcore/pkgcore/pull/424 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/ebuild/test_repository.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/ebuild/test_repository.py b/tests/ebuild/test_repository.py
index 71366ba2e..10c0b93b1 100644
--- a/tests/ebuild/test_repository.py
+++ b/tests/ebuild/test_repository.py
@@ -296,7 +296,7 @@ class TestSlavedTree(TestUnconfiguredTree):
repo = self.mk_tree(slave_repo)
assert set(repo.licenses) == set(master_licenses + slave_licenses)
- def test_license_groups(self, master_repo, slave_repo):
+ def test_license_groups(self, master_repo, slave_repo, caplog):
master_licenses = ("GPL-2", "BSD")
slave_licenses = ("BSD-2", "MIT")
@@ -324,6 +324,26 @@ class TestSlavedTree(TestUnconfiguredTree):
}
assert "BSD" in repo.licenses.groups["MISC-FREE"]
+ # verify it warns when parsing fails
+ (slave_repo / "profiles" / "license_groups").write_text('X"')
+ caplog.clear()
+ repo = self.mk_tree(slave_repo)
+ assert set(repo.licenses.groups) == {"FREE", "OSI-APPROVED"}
+ assert caplog.text
+
+ # verify it warns when the file exists but it can't read it.
+ (slave_repo / "profiles" / "license_groups").write_text("")
+ (slave_repo / "profiles" / "license_groups").chmod(000)
+ caplog.clear()
+ repo = self.mk_tree(slave_repo)
+ assert set(repo.licenses.groups) == {"FREE", "OSI-APPROVED"}
+ assert caplog.text
+
+ # verify it handles a missing license group.
+ (slave_repo / "profiles" / "license_groups").unlink()
+ repo = self.mk_tree(slave_repo)
+ assert set(repo.licenses.groups) == {"FREE", "OSI-APPROVED"}
+
def test_package_deprecated(self, slave_repo, master_repo):
(master_repo / "profiles" / "package.deprecated").write_text(
textwrap.dedent(