diff --git a/qemu/tests/cfg/qmp_event_notification.cfg b/qemu/tests/cfg/qmp_event_notification.cfg index e6150d5d50cb244d221fff0409fb3be30a022252..7c47c8f71ee4ee86d101bed42362d1aaa6912df1 100644 --- a/qemu/tests/cfg/qmp_event_notification.cfg +++ b/qemu/tests/cfg/qmp_event_notification.cfg @@ -58,6 +58,8 @@ event_check = "SUSPEND" event_cmd_options = "ignore_all_errors=True" extra_params += " -global PIIX4_PM.disable_s3=0" + post_event_cmd = system_wakeup + post_event_cmd_type = qmp_cmd - qmp_disk_suspend: no Windows usbs = "" diff --git a/qemu/tests/qmp_event_notification.py b/qemu/tests/qmp_event_notification.py index d11a8a2b923eb74a42ffd07f0ad209c8cae76b4b..88a5a659b6cc2a01de4b1a22df4fac2e73d230ac 100644 --- a/qemu/tests/qmp_event_notification.py +++ b/qemu/tests/qmp_event_notification.py @@ -34,30 +34,33 @@ def run(test, params, env): "monitor_cmd": humam_monitor.send_args_cmd, "qmp_cmd": qmp_monitor.send_args_cmd} - def send_cmd(cmd, options={}): + def send_cmd(cmd, cmd_type, options={}): if cmd_type in callback.keys(): return callback[cmd_type](cmd, **options) else: raise error.TestError("cmd_type is not supported") + cmd_type = params["event_cmd_type"] pre_event_cmd = params.get("pre_event_cmd", "") + pre_event_cmd_type = params.get("pre_event_cmd_type", cmd_type) pre_event_cmd_options = eval( "dict({0})".format(params.get("pre_event_cmd_options", ""))) event_cmd = params.get("event_cmd") event_cmd_options = eval( "dict({0})".format(params.get("event_cmd_options", ""))) post_event_cmd = params.get("post_event_cmd", "") + post_event_cmd_type = params.get("post_event_cmd_type", cmd_type) post_event_cmd_options = eval( "dict({0})".format(params.get("post_event_cmd_options", ""))) - cmd_type = params.get("event_cmd_type") event_check = params.get("event_check") timeout = int(params.get("check_timeout", 360)) action_check = params.get("action_check") if pre_event_cmd: - send_cmd(pre_event_cmd, pre_event_cmd_options) + send_cmd(pre_event_cmd, pre_event_cmd_type, + pre_event_cmd_options) - send_cmd(event_cmd, event_cmd_options) + send_cmd(event_cmd, cmd_type, event_cmd_options) end_time = time.time() + timeout qmp_monitors = vm.get_monitors_by_type("qmp") @@ -87,6 +90,7 @@ def run(test, params, env): % event_check) if post_event_cmd: - send_cmd(post_event_cmd, post_event_cmd_options) + send_cmd(post_event_cmd, post_event_cmd_type, + post_event_cmd_options) if session: session.close()