--- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ requires = [ "lxml", "pathspec", "tree-sitter>=0.19.0", - "snakeoil~=0.10.3", - "pkgcore~=0.12.17", + "snakeoil~=0.10.4", + "pkgcore~=0.12.18", ] build-backend = "setuptools.build_meta" @@ -40,8 +40,8 @@ dependencies = [ "lxml", "pathspec", "tree-sitter>=0.19.0", - "snakeoil~=0.10.3", - "pkgcore~=0.12.17", + "snakeoil~=0.10.4", + "pkgcore~=0.12.18", ] [project.optional-dependencies] @@ -53,7 +53,7 @@ test = [ doc = [ "sphinx", "tomli; python_version < '3.11'", - "snakeoil~=0.10.3", + "snakeoil~=0.10.4", ] network = [ "requests", --- a/src/pkgcheck/checks/metadata.py +++ b/src/pkgcheck/checks/metadata.py @@ -210,11 +210,10 @@ class IuseCheck(Check): def __init__(self, *args, use_addon): super().__init__(*args) self.iuse_handler = use_addon - self.valid_use = atom_mod.valid_use_flag.match self.bad_defaults = tuple(['-'] + [f'+{x}_' for x in self.use_expand_groups]) def feed(self, pkg): - if invalid := sorted(x for x in pkg.iuse_stripped if not self.valid_use(x)): + if invalid := sorted(x for x in pkg.iuse_stripped if not pkg.eapi.is_valid_use_flag(x)): yield InvalidUseFlags(invalid, pkg=pkg) if pkg.eapi.options.iuse_defaults and (bad_defaults := sorted( --- a/testdata/data/repos/standalone/SourcingCheck/InvalidEapi/expected.json +++ b/testdata/data/repos/standalone/SourcingCheck/InvalidEapi/expected.json @@ -1,2 +1,2 @@ {"__class__": "InvalidEapi", "category": "SourcingCheck", "package": "InvalidEapi", "version": "0", "attr": "eapi", "msg": "EAPI '9999' is not supported"} -{"__class__": "InvalidEapi", "category": "SourcingCheck", "package": "InvalidEapi", "version": "1", "attr": "eapi", "msg": "invalid EAPI: 'invalid!'"} +{"__class__": "InvalidEapi", "category": "SourcingCheck", "package": "InvalidEapi", "version": "1", "attr": "eapi", "msg": "invalid EAPI 'invalid!'"} --- a/tests/checks/test_metadata.py +++ b/tests/checks/test_metadata.py @@ -430,7 +430,7 @@ class TestSourcingCheck(misc.ReportTestCase, misc.Tmpdir): """)) r = self.assertReport(check, self.repo) assert isinstance(r, metadata.InvalidEapi) - assert f"invalid EAPI: '{eapi}'" in str(r) + assert f"invalid EAPI '{eapi}'" in str(r) def test_sourcing_error(self): check = self.mk_check()