From da6f0256315e95978fe59fce622b841c8c0fe393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Thu, 28 May 2026 20:41:53 +0200 Subject: [PATCH 1/4] Rename enable_repo/disable_repo package manager methods We already have `install_repository`, `create_repository`, let's follow the full-name suite. --- tmt/package_managers/__init__.py | 8 ++++---- tmt/package_managers/apk.py | 4 ++-- tmt/package_managers/apt.py | 4 ++-- tmt/package_managers/bootc.py | 12 ++++++------ tmt/package_managers/dnf.py | 8 ++++---- tmt/package_managers/mock.py | 4 ++-- tmt/package_managers/rpm_ostree.py | 4 ++-- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/tmt/package_managers/__init__.py b/tmt/package_managers/__init__.py index 82f05bac4e..50afb5b8c3 100644 --- a/tmt/package_managers/__init__.py +++ b/tmt/package_managers/__init__.py @@ -386,7 +386,7 @@ def refresh_metadata(self) -> ShellScript: raise NotImplementedError @abc.abstractmethod - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: """ Enable specified repositories. @@ -396,7 +396,7 @@ def enable_repo(self, *repo_ids: str) -> ShellScript: raise NotImplementedError @abc.abstractmethod - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: """ Disable specified repositories. @@ -690,7 +690,7 @@ def enable_repo(self, *repo_ids: str) -> None: self.assert_config_manager() self.verbose('enable repo', fmf.utils.listed(repo_ids), 'green') - self.guest.execute(self.engine.enable_repo(*repo_ids)) + self.guest.execute(self.engine.enable_repository(*repo_ids)) def disable_repo(self, *repo_ids: str) -> None: """ @@ -704,7 +704,7 @@ def disable_repo(self, *repo_ids: str) -> None: self.assert_config_manager() self.verbose('disable repo', fmf.utils.listed(repo_ids), 'green') - self.guest.execute(self.engine.disable_repo(*repo_ids)) + self.guest.execute(self.engine.disable_repository(*repo_ids)) def enable_copr(self, *repositories: str) -> None: """ diff --git a/tmt/package_managers/apk.py b/tmt/package_managers/apk.py index acec2b696a..99bdee741e 100644 --- a/tmt/package_managers/apk.py +++ b/tmt/package_managers/apk.py @@ -98,12 +98,12 @@ def check_presence(self, *installables: Installable) -> ShellScript: def refresh_metadata(self) -> ShellScript: return ShellScript(f'{self.command.to_script()} update') - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: raise tmt.utils.PrepareError( "Package manager 'apk' does not support enabling repositories." ) - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: raise tmt.utils.PrepareError( "Package manager 'apk' does not support disabling repositories." ) diff --git a/tmt/package_managers/apt.py b/tmt/package_managers/apt.py index 42858fd481..cddb4db5f3 100644 --- a/tmt/package_managers/apt.py +++ b/tmt/package_managers/apt.py @@ -156,12 +156,12 @@ def refresh_metadata(self) -> ShellScript: f'export DEBIAN_FRONTEND=noninteractive; {self.command.to_script()} update' ) - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: raise tmt.utils.PrepareError( "Package manager 'apt' does not support enabling repositories." ) - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: raise tmt.utils.PrepareError( "Package manager 'apt' does not support disabling repositories." ) diff --git a/tmt/package_managers/bootc.py b/tmt/package_managers/bootc.py index 7fed6f33b4..91db192f53 100644 --- a/tmt/package_managers/bootc.py +++ b/tmt/package_managers/bootc.py @@ -177,17 +177,17 @@ def refresh_metadata(self) -> ShellScript: self.containerfile_directives.append(f'RUN {script}') return script - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: self.open_containerfile_directives() - script = self.aux_engine.enable_repo(*repo_ids) + script = self.aux_engine.enable_repository(*repo_ids) self.containerfile_directives.append(f'RUN {script}') return script - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: self.open_containerfile_directives() - script = self.aux_engine.disable_repo(*repo_ids) + script = self.aux_engine.disable_repository(*repo_ids) self.containerfile_directives.append(f'RUN {script}') return script @@ -379,7 +379,7 @@ def enable_repo(self, *repo_ids: str) -> None: self.assert_config_manager() self.verbose('enable repo', fmf.utils.listed(repo_ids), 'green') - self.engine.enable_repo(*repo_ids) + self.engine.enable_repository(*repo_ids) def disable_repo(self, *repo_ids: str) -> None: if not repo_ids: @@ -387,7 +387,7 @@ def disable_repo(self, *repo_ids: str) -> None: self.assert_config_manager() self.verbose('disable repo', fmf.utils.listed(repo_ids), 'green') - self.engine.disable_repo(*repo_ids) + self.engine.disable_repository(*repo_ids) def finalize_installation(self) -> CommandOutput: """ diff --git a/tmt/package_managers/dnf.py b/tmt/package_managers/dnf.py index 9a807595cc..5625ba1d23 100644 --- a/tmt/package_managers/dnf.py +++ b/tmt/package_managers/dnf.py @@ -128,10 +128,10 @@ def refresh_metadata(self) -> ShellScript: f'{self.command.to_script()} makecache {self.options.to_script()} --refresh' ) - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: return (self.command + Command('config-manager', '--enable', *repo_ids)).to_script() - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: return (self.command + Command('config-manager', '--disable', *repo_ids)).to_script() def install( @@ -423,10 +423,10 @@ def _yum_config_manager_command(self) -> Command: return command - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: return (self._yum_config_manager_command() + Command('--enable', *repo_ids)).to_script() - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: return (self._yum_config_manager_command() + Command('--disable', *repo_ids)).to_script() def resolve_provides( diff --git a/tmt/package_managers/mock.py b/tmt/package_managers/mock.py index e6963be7e9..ab93fe4f01 100644 --- a/tmt/package_managers/mock.py +++ b/tmt/package_managers/mock.py @@ -82,10 +82,10 @@ def install_debuginfo( def refresh_metadata(self) -> ShellScript: return self._prepare_mock_command_script('makecache --refresh') - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: raise PrepareError("Package manager 'mock' does not support enabling repositories.") - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: raise PrepareError("Package manager 'mock' does not support disabling repositories.") diff --git a/tmt/package_managers/rpm_ostree.py b/tmt/package_managers/rpm_ostree.py index 695add5ecf..d43e7b4220 100644 --- a/tmt/package_managers/rpm_ostree.py +++ b/tmt/package_managers/rpm_ostree.py @@ -76,10 +76,10 @@ def refresh_metadata(self) -> ShellScript: # script = ShellScript(f'{self.command.to_script()} refresh-md --force') # return self.guest.execute(script) - def enable_repo(self, *repo_ids: str) -> ShellScript: + def enable_repository(self, *repo_ids: str) -> ShellScript: raise PrepareError("Package manager 'rpm-ostree' does not support enabling repositories.") - def disable_repo(self, *repo_ids: str) -> ShellScript: + def disable_repository(self, *repo_ids: str) -> ShellScript: raise PrepareError("Package manager 'rpm-ostree' does not support disabling repositories.") def install( From 54fdd239a8d6251e3ab36f9d8b3be62c176dce17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Thu, 28 May 2026 20:57:14 +0200 Subject: [PATCH 2/4] squash: forgot about package managers --- tmt/package_managers/__init__.py | 2 +- tmt/package_managers/bootc.py | 2 +- tmt/steps/prepare/feature/crb.py | 2 +- tmt/steps/prepare/feature/epel.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tmt/package_managers/__init__.py b/tmt/package_managers/__init__.py index 50afb5b8c3..c0978fc010 100644 --- a/tmt/package_managers/__init__.py +++ b/tmt/package_managers/__init__.py @@ -678,7 +678,7 @@ def assert_config_manager(self) -> None: """ raise PrepareError(f"Package manager '{self.NAME}' does not support config-manager.") - def enable_repo(self, *repo_ids: str) -> None: + def enable_repository(self, *repo_ids: str) -> None: """ Enable specified repositories. diff --git a/tmt/package_managers/bootc.py b/tmt/package_managers/bootc.py index 91db192f53..21c0bfe85d 100644 --- a/tmt/package_managers/bootc.py +++ b/tmt/package_managers/bootc.py @@ -373,7 +373,7 @@ def install_local( def assert_config_manager(self) -> None: self.guest.bootc_builder.assert_config_manager() - def enable_repo(self, *repo_ids: str) -> None: + def enable_repository(self, *repo_ids: str) -> None: if not repo_ids: return diff --git a/tmt/steps/prepare/feature/crb.py b/tmt/steps/prepare/feature/crb.py index 6972d7187f..71f6e12dda 100644 --- a/tmt/steps/prepare/feature/crb.py +++ b/tmt/steps/prepare/feature/crb.py @@ -85,7 +85,7 @@ def _manage_repo(cls, guest: Guest, logger: tmt.log.Logger, action: str) -> None return if action == 'enable': - guest.package_manager.enable_repo(*repo_ids) + guest.package_manager.enable_repository(*repo_ids) else: guest.package_manager.disable_repo(*repo_ids) diff --git a/tmt/steps/prepare/feature/epel.py b/tmt/steps/prepare/feature/epel.py index 99b710ab38..f30a348244 100644 --- a/tmt/steps/prepare/feature/epel.py +++ b/tmt/steps/prepare/feature/epel.py @@ -102,11 +102,11 @@ def enable(cls, guest: Guest, logger: tmt.log.Logger) -> None: guest.package_manager.install(Package("epel-next-release")) logger.verbose('Enable EPEL') - guest.package_manager.enable_repo('epel', 'epel-debuginfo', 'epel-source') + guest.package_manager.enable_repository('epel', 'epel-debuginfo', 'epel-source') # EPEL Next is only available for CentOS Stream 9 if distro == 'centos' and version == 9: - guest.package_manager.enable_repo( + guest.package_manager.enable_repository( 'epel-next', 'epel-next-debuginfo', 'epel-next-source' ) From e39e699d7f38bc15d8cd05afe709f76638d823b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Fri, 5 Jun 2026 13:51:06 +0200 Subject: [PATCH 3/4] squash: forgot about disable_repo --- tmt/package_managers/__init__.py | 2 +- tmt/package_managers/bootc.py | 2 +- tmt/steps/prepare/feature/crb.py | 2 +- tmt/steps/prepare/feature/epel.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tmt/package_managers/__init__.py b/tmt/package_managers/__init__.py index c0978fc010..1aa85e7814 100644 --- a/tmt/package_managers/__init__.py +++ b/tmt/package_managers/__init__.py @@ -692,7 +692,7 @@ def enable_repository(self, *repo_ids: str) -> None: self.verbose('enable repo', fmf.utils.listed(repo_ids), 'green') self.guest.execute(self.engine.enable_repository(*repo_ids)) - def disable_repo(self, *repo_ids: str) -> None: + def disable_repository(self, *repo_ids: str) -> None: """ Disable specified repositories. diff --git a/tmt/package_managers/bootc.py b/tmt/package_managers/bootc.py index 21c0bfe85d..3e6dc1b261 100644 --- a/tmt/package_managers/bootc.py +++ b/tmt/package_managers/bootc.py @@ -381,7 +381,7 @@ def enable_repository(self, *repo_ids: str) -> None: self.verbose('enable repo', fmf.utils.listed(repo_ids), 'green') self.engine.enable_repository(*repo_ids) - def disable_repo(self, *repo_ids: str) -> None: + def disable_repository(self, *repo_ids: str) -> None: if not repo_ids: return diff --git a/tmt/steps/prepare/feature/crb.py b/tmt/steps/prepare/feature/crb.py index 71f6e12dda..d7439e2a6e 100644 --- a/tmt/steps/prepare/feature/crb.py +++ b/tmt/steps/prepare/feature/crb.py @@ -87,7 +87,7 @@ def _manage_repo(cls, guest: Guest, logger: tmt.log.Logger, action: str) -> None if action == 'enable': guest.package_manager.enable_repository(*repo_ids) else: - guest.package_manager.disable_repo(*repo_ids) + guest.package_manager.disable_repository(*repo_ids) @classmethod def enable(cls, guest: Guest, logger: tmt.log.Logger) -> None: diff --git a/tmt/steps/prepare/feature/epel.py b/tmt/steps/prepare/feature/epel.py index f30a348244..9556a32764 100644 --- a/tmt/steps/prepare/feature/epel.py +++ b/tmt/steps/prepare/feature/epel.py @@ -128,12 +128,12 @@ def disable(cls, guest: Guest, logger: tmt.log.Logger) -> None: logger.verbose('Disable EPEL') epel_package = Package("epel-release") if guest.package_manager.check_presence(epel_package).get(epel_package): - guest.package_manager.disable_repo('epel', 'epel-debuginfo', 'epel-source') + guest.package_manager.disable_repository('epel', 'epel-debuginfo', 'epel-source') # EPEL Next is only available for CentOS Stream 9 if distro == 'centos' and version == 9: epel_next_package = Package("epel-next-release") if guest.package_manager.check_presence(epel_next_package).get(epel_next_package): - guest.package_manager.disable_repo( + guest.package_manager.disable_repository( 'epel-next', 'epel-next-debuginfo', 'epel-next-source' ) From d169529a1b25abe10e8d6795399e049abf021216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Fri, 5 Jun 2026 14:52:14 +0200 Subject: [PATCH 4/4] squash: renames in tests --- tests/unit/test_package_managers.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/unit/test_package_managers.py b/tests/unit/test_package_managers.py index eb68781d0f..024a37ed29 100644 --- a/tests/unit/test_package_managers.py +++ b/tests/unit/test_package_managers.py @@ -551,7 +551,7 @@ def test_assert_config_manager( package_manager.assert_config_manager() -def _parametrize_test_enable_disable_repo() -> Iterator[ +def _parametrize_test_enable_disable_repository() -> Iterator[ tuple[Container, PackageManagerClass, str, Union[str, Exception]] ]: for container, package_manager_class in CONTAINER_BASE_MATRIX: @@ -602,10 +602,10 @@ def _parametrize_test_enable_disable_repo() -> Iterator[ @pytest.mark.containers @pytest.mark.parametrize( ('container_per_test', 'package_manager_class', 'action', 'expected_command_or_exception'), - list(_parametrize_test_enable_disable_repo()), + list(_parametrize_test_enable_disable_repository()), indirect=["container_per_test"], ) -def test_enable_disable_repo( +def test_enable_disable_repository( container_per_test: ContainerData, guest_per_test: GuestContainer, package_manager_class: PackageManagerClass, @@ -618,7 +618,11 @@ def test_enable_disable_repo( container_per_test, guest_per_test, package_manager_class, root_logger ) - method = package_manager.enable_repo if action == 'enable' else package_manager.disable_repo + method = ( + package_manager.enable_repository + if action == 'enable' + else package_manager.disable_repository + ) if isinstance(expected_command_or_exception, str): # The command will fail because 'test-repo' does not exist in the