diff --git a/qemu/tests/win_virtio_driver_update_test.py b/qemu/tests/win_virtio_driver_update_test.py index 96642ecdd178750881ad2c18de7bd237582d9895..9d1c2d883279bbe7f901384ee9923a0be4afdace 100644 --- a/qemu/tests/win_virtio_driver_update_test.py +++ b/qemu/tests/win_virtio_driver_update_test.py @@ -1,6 +1,9 @@ import logging from virttest import error_context +from virttest import utils_misc +from virttest import data_dir + from qemu.tests import single_driver_install @@ -23,11 +26,19 @@ def run(test, params, env): :param params: Dictionary with the test parameters :param env: Dictionary with test environment """ - cdrom_virtio_downgrade = params.get("cdrom_virtio_downgrade") - vm = env.get_vm(params["main_vm"]) vm.verify_alive() + def change_virtio_media(cdrom_virtio): + """ + change iso for virtio-win + :param cdrom_virtio: iso file + """ + virtio_iso = utils_misc.get_path(data_dir.get_data_dir(), + cdrom_virtio) + logging.info("Changing virtio iso image to '%s'" % virtio_iso) + vm.change_media("drive_virtio", virtio_iso) + if params.get("need_uninstall") == "yes": error_context.context("Uninstall virtio driver", logging.info) single_driver_install.run(test, params, env) @@ -36,14 +47,14 @@ def run(test, params, env): error_context.context("Install virtio driver", logging.info) else: error_context.context("Downgrade virtio driver", logging.info) - new_params = params.copy() - new_params["cdrom_virtio"] = cdrom_virtio_downgrade - vm.create(params=new_params) - vm.verify_alive() - single_driver_install.run(test, new_params, env) + change_virtio_media(params["cdrom_virtio_downgrade"]) + single_driver_install.run(test, params, env) + error_context.context("Reboot guest after downgrade virtio driver", + logging.info) + vm.reboot() error_context.context("Upgrade virtio driver to original", logging.info) - vm.create(params=params) - vm.verify_alive() + + change_virtio_media(params["cdrom_virtio"]) single_driver_install.run(test, params, env) vm.destroy()