From cfba16a4b95fcda221428b20412939603b135a08 Mon Sep 17 00:00:00 2001 From: Ping Li Date: Tue, 1 Nov 2016 11:03:52 +0800 Subject: [PATCH] qemu_disk_img: Add sync in windows Support to sync data in windows guest. Signed-off-by: Ping Li pingl@redhat.com --- qemu/tests/cfg/qemu_disk_img.cfg | 5 +++++ qemu/tests/qemu_disk_img.py | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/qemu/tests/cfg/qemu_disk_img.cfg b/qemu/tests/cfg/qemu_disk_img.cfg index d660b840..7483fa3b 100644 --- a/qemu/tests/cfg/qemu_disk_img.cfg +++ b/qemu/tests/cfg/qemu_disk_img.cfg @@ -11,6 +11,11 @@ image_size = 20G # md5sum binary path md5sum_bin = "md5sum" + Windows: + x86_64: + sync_bin = X:\Sync\sync64.exe /accepteula + i386, i686: + sync_bin = X:\Sync\sync.exe /accepteula force_create_image = no backup_image_before_testing = yes restore_image_before_testing = yes diff --git a/qemu/tests/qemu_disk_img.py b/qemu/tests/qemu_disk_img.py index 5ccf38b3..48a5403e 100644 --- a/qemu/tests/qemu_disk_img.py +++ b/qemu/tests/qemu_disk_img.py @@ -71,7 +71,7 @@ class QemuImgTest(qemu_storage.QemuImg): @error.context_aware def __create_file(self, dst): - error.context("create tmp file on host") + logging.info("create tmp file on host") if not self.vm: return False src = self.params["tmp_file_name"] @@ -82,6 +82,7 @@ class QemuImgTest(qemu_storage.QemuImg): return True def __md5sum(self, dst): + logging.info("calculate MD5 of the file") if not self.vm: return False login_timeout = int(self.params.get("login_timeout", 360)) @@ -97,12 +98,15 @@ class QemuImgTest(qemu_storage.QemuImg): @error.context_aware def save_file(self, dst): + login_timeout = int(self.params.get("login_timeout", 360)) + cmd = self.params.get("sync_bin", "sync") error.context("save file('%s') md5sum in guest" % dst, logging.info) self.__create_file(dst) - login_timeout = int(self.params.get("login_timeout", 360)) session = self.vm.wait_for_login(timeout=login_timeout) - error.context("sync guest data") - cmd = "sync" + logging.info("sync guest data") + if "X:" in cmd: + vol = utils_misc.get_winutils_vol(session) + cmd = cmd.replace("X:", "%s:" % vol) status, output = session.cmd_status_output(cmd) if status != 0: logging.error("Execute '%s' with failures('%s') " % (cmd, output)) -- GitLab