提交 0465b670 编写于 作者: R root

Add pause&resume block job test case for drive_mirror.

上级 28af97a4
...@@ -136,6 +136,40 @@ class BlockCopy(object): ...@@ -136,6 +136,40 @@ class BlockCopy(object):
if self.vm.monitor.protocol == "qmp": if self.vm.monitor.protocol == "qmp":
self.vm.monitor.clear_event("BLOCK_JOB_CANCELLED") self.vm.monitor.clear_event("BLOCK_JOB_CANCELLED")
def is_paused(self):
"""
Return block job paused status.
"""
paused = self.get_status().get("paused")
offset_p = self.get_status().get("offset")
time.sleep(random.uniform(1, 3))
offset_l = self.get_status().get("offset")
paused &= offset_p == offset_l
return paused
def pause_job(self):
"""
pause active job;
"""
if self.is_paused():
raise error.TestError("Job has been already paused.")
logging.info("Pause block job.")
self.vm.pause_block_job(self.device)
time.sleep(random.uniform(1, 3))
if not self.is_paused():
raise error.TestFail("Pause block job failed.")
def resume_job(self):
"""
resume a paused job.
"""
if not self.is_paused():
raise error.TestError("Job is not paused, can't be resume.")
logging.info("Resume block job.")
self.vm.resume_block_job(self.device)
if self.is_paused():
raise error.TestFail("Resume block job failed.")
@error.context_aware @error.context_aware
def set_speed(self): def set_speed(self):
""" """
......
...@@ -80,6 +80,8 @@ ...@@ -80,6 +80,8 @@
before_steady = "query_status" before_steady = "query_status"
default_speed_image1 = 3M default_speed_image1 = 3M
max_speed_image1 = 10M max_speed_image1 = 10M
- pause_resume_job:
before_steady = "pause_job resume_job"
- job_complete: - job_complete:
type = drive_mirror_complete type = drive_mirror_complete
boot_target_image = no boot_target_image = no
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册