From nobody Mon Feb 9 13:24:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1696607043; cv=none; d=zohomail.com; s=zohoarc; b=ckC/qV5KQyPItwg6sR5CYqxvVElQ6zTEs4kO6m6luXpA7MMBst2QWgBGNSUIXzaGzgwEsb4yKMaqLhoiyH07DhDkWmnZlCtuifAhYvRrywGhyc2PZEgvBGzCwq3OAC3ZVV6kPxXLvKaZdzjM1qDDhho78jvGk8FbffR0icGvGBo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1696607043; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7v8A/wsS29ckL3cXNlyoLSICSw/NB1swFcbl2g+UioA=; b=SdJSfkKvffc3qXrnuaGlAXAeds5P9fP8/0moIgTlTKNosXuad39Ls9ufqslssg7qM95PtRvIkoJTm0H/2/B9Nga2FnHTO3dEvFSlirgtczn+wsaejSdMxotk2mRVOI3/+1p05NocAu6Fe3rqWrrVDi/I4MjogEXytlC7AUJoAQQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1696607043409332.1945959720716; Fri, 6 Oct 2023 08:44:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qomxz-0006gn-54; Fri, 06 Oct 2023 11:42:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qomxv-0006ew-G3; Fri, 06 Oct 2023 11:42:11 -0400 Received: from forwardcorp1c.mail.yandex.net ([178.154.239.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qomxg-0003Zg-Cq; Fri, 06 Oct 2023 11:42:11 -0400 Received: from mail-nwsmtp-smtp-corp-main-62.myt.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-62.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:3a8c:0:640:ec94:0]) by forwardcorp1c.mail.yandex.net (Yandex) with ESMTP id EF9D55F152; Fri, 6 Oct 2023 18:41:53 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6b8:b081:a512::1:22]) by mail-nwsmtp-smtp-corp-main-62.myt.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id VfbK2W5OrKo0-ZMTAz9OG; Fri, 06 Oct 2023 18:41:53 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1696606913; bh=7v8A/wsS29ckL3cXNlyoLSICSw/NB1swFcbl2g+UioA=; h=Message-Id:Date:In-Reply-To:Cc:Subject:References:To:From; b=YiYtGgTVrwWQvi/xW6riTh5+brEXM/R33mpZwW3dcH4GFsBnaLKpunD1GLryMisoL R76DuGLoUMed4tcnI69wZaZfbjfHENaVOIFf+CvhTJBfBd8kSCALmyOG4Qume0Hbmw lcHBbdxKRY8cT5aBQ09akglQCF4jVl5wkiH9vlSk= Authentication-Results: mail-nwsmtp-smtp-corp-main-62.myt.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Cc: qemu-devel@nongnu.org, vsementsov@yandex-team.ru, jsnow@redhat.com, crosa@redhat.com, kwolf@redhat.com, hreitz@redhat.com, eblake@redhat.com, Beraldo Leal Subject: [PATCH v7 06/15] python/machine.py: upgrade vm.cmd() method Date: Fri, 6 Oct 2023 18:41:16 +0300 Message-Id: <20231006154125.1068348-7-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231006154125.1068348-1-vsementsov@yandex-team.ru> References: <20231006154125.1068348-1-vsementsov@yandex-team.ru> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=178.154.239.200; envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1c.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1696607044896100005 Content-Type: text/plain; charset="utf-8" The method is not popular in iotests, we prefer use vm.qmp() and then check success by hand. But that's not optimal. To simplify movement to vm.cmd() let's support same interface improvements like in vm.qmp(). Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Eric Blake --- python/qemu/machine/machine.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py index c4e80544bd..352e15b074 100644 --- a/python/qemu/machine/machine.py +++ b/python/qemu/machine/machine.py @@ -698,13 +698,23 @@ def qmp(self, cmd: str, return ret =20 def cmd(self, cmd: str, - conv_keys: bool =3D True, + args_dict: Optional[Dict[str, object]] =3D None, + conv_keys: Optional[bool] =3D None, **args: Any) -> QMPReturnValue: """ Invoke a QMP command. On success return the response dict. On failure raise an exception. """ + if args_dict is not None: + assert not args + assert conv_keys is None + args =3D args_dict + conv_keys =3D False + + if conv_keys is None: + conv_keys =3D True + qmp_args =3D self._qmp_args(conv_keys, args) ret =3D self._qmp.cmd(cmd, **qmp_args) if cmd =3D=3D 'quit': --=20 2.34.1