From 6ea7c8f0ca8017de80f4dc517f44da0ce6ff2678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Be=C3=B1at=20Gartzia=20Arruabarrena?= Date: Tue, 10 Dec 2024 16:02:31 +0100 Subject: [PATCH] env_process: Refactor version info logging step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After checking all test-relevant package versions, the dict carrying the information must be logged into the test data. That was done in the preprocess and postprocess functions in virttest.env_process. Write a Setuper subclass that implements that in the setup method and register the setuper in the env_process setup_manager. While on it, remove the requirement_checks import from env_process as all steps are now refactored into Setupers in requirement_checks. This is a patch from a larger patch series refactoring the env_process preprocess and postprocess functions. In each of these patches, a pre/post process step is identified and replaced with a Setuper subclass so the following can finally be met: - Only cleanup steps of successful setup steps are run to avoid possible environment corruption or hard to read errors. - Running setup/cleanup steps symmetrically during env pre/post process. - Reduce explicit pre/post process function code length. Signed-off-by: BeƱat Gartzia Arruabarrena --- virttest/env_process.py | 6 ++---- virttest/test_setup/requirement_checks.py | 9 +++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/virttest/env_process.py b/virttest/env_process.py index 1cfca32d36..3ae5a3f7fb 100644 --- a/virttest/env_process.py +++ b/virttest/env_process.py @@ -55,7 +55,6 @@ ) from virttest.test_setup.os_posix import UlimitConfig from virttest.test_setup.ppc import SwitchSMTOff -from virttest.test_setup import requirement_checks from virttest.test_setup.requirement_checks import ( CheckInstalledCMDs, CheckKernelVersion, @@ -64,6 +63,7 @@ CheckRunningAsRoot, CheckVirtioWinVersion, LogBootloaderVersion, + LogVersionInfo, ) from virttest.test_setup.storage import StorageConfig from virttest.test_setup.verify import VerifyHostDMesg @@ -1022,15 +1022,13 @@ def preprocess(test, params, env): _setup_manager.register(LogBootloaderVersion) _setup_manager.register(CheckVirtioWinVersion) _setup_manager.register(CheckLibvirtVersion) + _setup_manager.register(LogVersionInfo) _setup_manager.do_setup() vm_type = params.get("vm_type") base_dir = data_dir.get_data_dir() - # Write it as a keyval - test.write_test_keyval(requirement_checks.version_info) - libvirtd_inst = None # If guest is configured to be backed by hugepages, setup hugepages in host diff --git a/virttest/test_setup/requirement_checks.py b/virttest/test_setup/requirement_checks.py index e3dc9060b4..8e4d2f2030 100644 --- a/virttest/test_setup/requirement_checks.py +++ b/virttest/test_setup/requirement_checks.py @@ -221,3 +221,12 @@ def setup(self): def cleanup(self): pass + + +class LogVersionInfo(Setuper): + def setup(self): + # Write package version info dict as a keyval + self.test.write_test_keyval(version_info) + + def cleanup(self): + pass