From: Aleš Mrázek Date: Thu, 9 Jul 2026 11:16:40 +0000 (+0200) Subject: tests/packaging/dependencies.py: replace pkg_resources X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=025260d90cdf57dbd0401f13a7493a4c7912e395;p=thirdparty%2Fknot-resolver.git tests/packaging/dependencies.py: replace pkg_resources Replace deprecated pkg_resources with importlib.metadata and packaging. --- diff --git a/tests/packaging/dependencies.py b/tests/packaging/dependencies.py index 1262d2e15..2613df59d 100755 --- a/tests/packaging/dependencies.py +++ b/tests/packaging/dependencies.py @@ -3,9 +3,12 @@ import importlib import importlib.util import sys +from importlib.metadata import distributions from types import ModuleType -import pkg_resources +from packaging.requirements import Requirement +from packaging.utils import canonicalize_name + # replace imports with mocks dummy = ModuleType("dummy") @@ -21,10 +24,17 @@ spec.loader.exec_module(mod) install_requires = mod.install_requires # strip version codes -deps = set((x[: x.index(">")].lower() if ">" in x else x.lower() for x in install_requires)) +deps = { + canonicalize_name(Requirement(req).name) + for req in install_requires +} # find out which packages are missing -installed = {pkg.key for pkg in pkg_resources.working_set} +installed = { + canonicalize_name(name) + for dist in distributions() + if (name := dist.metadata.get("Name")) +} missing = deps - installed # fail if there are some missing