|
| 1 | +import re |
| 2 | + |
1 | 3 | from virttest import error_context, utils_misc, utils_test
|
2 | 4 |
|
3 | 5 | from provider import virtio_fs_utils
|
@@ -31,6 +33,7 @@ def run(test, params, env):
|
31 | 33 | driver = params["driver_name"]
|
32 | 34 | driver_verifier = params.get("driver_verifier", driver)
|
33 | 35 | driver_running = params.get("driver_running", driver_verifier)
|
| 36 | + check_task_cmd = params["check_task_cmd"] |
34 | 37 |
|
35 | 38 | vm = env.get_vm(params.get("main_vm"))
|
36 | 39 | vm.verify_alive()
|
@@ -69,13 +72,32 @@ def run(test, params, env):
|
69 | 72 | session.cmd(reg_add_pwd)
|
70 | 73 | error_context.context("Reboot the guest.", test.log.info)
|
71 | 74 | session = vm.reboot(session)
|
| 75 | + |
72 | 76 | error_context.context(
|
73 | 77 | "Run autoit script to install executable in explorer.", test.log.info
|
74 | 78 | )
|
| 79 | + # wait several seconds to virtiofs startup |
| 80 | + if not utils_misc.wait_for( |
| 81 | + lambda: re.search( |
| 82 | + r"RUNNING", virtio_fs_utils.query_viofs_service(test, params, session) |
| 83 | + ), |
| 84 | + 60, |
| 85 | + 0, |
| 86 | + 5, |
| 87 | + ): |
| 88 | + test.error("Virtiofs service wasn't start after vm reboot.") |
| 89 | + |
75 | 90 | session.cmd("start /w " + autoIt_path + " " + script_path)
|
76 | 91 | exe_name = winutils_pack_path.encode("unicode_escape").decode()[4:]
|
77 |
| - output = session.cmd_output("tasklist -v | findstr %s" % exe_name) |
78 |
| - test.log.info("The process found: %s", output) |
| 92 | + if not utils_misc.wait_for( |
| 93 | + lambda: session.cmd_output(check_task_cmd % exe_name).strip(), |
| 94 | + 60, |
| 95 | + 0, |
| 96 | + 2, |
| 97 | + ): |
| 98 | + test.error(f"The {exe_name} isn't started.") |
| 99 | + |
| 100 | + output = session.cmd_output(check_task_cmd % exe_name).strip() |
79 | 101 | output_lower = output.lower()
|
80 | 102 | if "7-zip" in output_lower and "setup" in output_lower:
|
81 | 103 | test.log.info(
|
|
0 commit comments