diff --git a/virttest/test_setup/__init__.py b/virttest/test_setup/__init__.py index 0f8dbdf8c4..bd8d585217 100644 --- a/virttest/test_setup/__init__.py +++ b/virttest/test_setup/__init__.py @@ -640,7 +640,7 @@ def __init__(self, params, env): if self.run == "yes": self.run = "1" elif self.run == "no": - self.run == "0" + self.run = "0" # Get KSM module status if there is one self.ksmctler = utils_misc.KSMController() @@ -697,6 +697,12 @@ def cleanup(self, env): # ksmtuned used to run in host. Start the process # and don't need set up the configures. self.ksmctler.start_ksmtuned() + # Ensure ksm it not enabled before return + if not wait.wait_for(lambda: not self.ksmctler.is_ksm_running(), + timeout=120, step=5, + text="Waiting for ksm to be disabled"): + LOG.warning("KSM is still running, subsequent test may not " + "work as expected") return if default_status == self.default_status: diff --git a/virttest/utils_misc.py b/virttest/utils_misc.py index b9bd2d3643..ffe44897fc 100644 --- a/virttest/utils_misc.py +++ b/virttest/utils_misc.py @@ -3084,7 +3084,8 @@ def is_ksm_running(self): Verify whether ksm is running. """ if self.interface == "sysfs": - running = process.run("cat %s" % self.ksm_params["run"]).stdout_text + running = process.run( + "cat %s" % self.ksm_params["run"]).stdout_text.strip() else: output = process.run("ksmctl info").stdout_text try: