From nobody Tue Sep 9 13:51:10 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1756477902; cv=none; d=zohomail.com; s=zohoarc; b=eLlv8kmeqF0t9HWLmyTOY5JcGidxEOqOsN00pl+qDStAz/wbasP8hGJmBnsf23SEHIQhQjN/MfdGCob1aAMbT602k8FSYLGPsXluoTVYusIx2Zs4tGT8LbJOyNhHfX6MZaPIBtBqC9dCikrPgKvDnf7vTj6HywF8Uv+nvUUCX8w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756477902; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=BvLjaiiCeOc1c9gOFzN2b3iBwvq9HnyRr+4gSgFqaZw=; b=kFmZxClzl9/r8T3pNpsImgJDjjlY9dNhUo0q7y2oKceiiOcD74gHNmflkdTnlYMgMYyZb2gz0TWFjma8b+3Qly9BLp6dDmg6AqKXF+kTG1QXkJKzGXgrNxa4KGP5Z4I7mxM1UXAkZS95wLL/09T64DQloswZnZF+NHDbwtEhtqU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756477902091912.1114336563189; Fri, 29 Aug 2025 07:31:42 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 393B444154; Fri, 29 Aug 2025 10:31:41 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 872B844304; Fri, 29 Aug 2025 10:20:17 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 60C4B44119; Fri, 29 Aug 2025 10:19:48 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 85F28440C0 for ; Fri, 29 Aug 2025 10:19:44 -0400 (EDT) Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-93-fy-I41aiNjW8_X2JgCCw3Q-1; Fri, 29 Aug 2025 10:19:42 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7642F18003FC for ; Fri, 29 Aug 2025 14:19:41 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.44.22.3]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B16291956095 for ; Fri, 29 Aug 2025 14:19:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1756477184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BvLjaiiCeOc1c9gOFzN2b3iBwvq9HnyRr+4gSgFqaZw=; b=AoBsbpZRB1XZqFgvLDkn+K7PZqJ5HUfYSbetctzknR6VkjJduy+17WR00g3twkqz8XWf98 3FumdT38BppbTmsc0z1VBMLrst3BgQDWrzX0vkWuDZlj+NEMZ8Xw032m1qg9Hvd9FE4ta3 AEO3D0OgeP/I0wPN3So3WS2Ol2EKnPo= X-MC-Unique: fy-I41aiNjW8_X2JgCCw3Q-1 X-Mimecast-MFC-AGG-ID: fy-I41aiNjW8_X2JgCCw3Q_1756477181 To: devel@lists.libvirt.org Subject: [PATCH 5/8] scripts: qemu-replies-tool: Prefix output with filename when dumping data for multiple files Date: Fri, 29 Aug 2025 16:19:29 +0200 Message-ID: <4a31a21864d30b3ec769e1e4f9c0360e2d4c42c3.1756477095.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: zaQ3DviMCdHr03d4mNlGIMgPlvGtePyV2KUtXe7khXY_1756477181 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: LO66X2DHBG6YYVEY5SF323WJKTSKW3KQ X-Message-ID-Hash: LO66X2DHBG6YYVEY5SF323WJKTSKW3KQ X-MailFrom: pkrempa@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Peter Krempa via Devel Reply-To: Peter Krempa X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1756477905489116600 Content-Type: text/plain; charset="utf-8" From: Peter Krempa The --dump-* mode can be used together with --repliesdir which iterates over all '.replies' files in the directory. Make this useful by outputing the filename so the user can associate the data with the file it was dumped from. Signed-off-by: Peter Krempa --- scripts/qemu-replies-tool.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/scripts/qemu-replies-tool.py b/scripts/qemu-replies-tool.py index 77d96f625d..8e48268456 100755 --- a/scripts/qemu-replies-tool.py +++ b/scripts/qemu-replies-tool.py @@ -371,7 +371,7 @@ def dump_qmp_probe_strings_iter(name, cur, trace, schem= a): dump_qmp_probe_strings_iter(var['type'], cur, trace, schema) -def dump_qmp_probe_strings(schemalist): +def dump_qmp_probe_strings(schemalist, dumpprefix): schemadict =3D {} toplevel =3D [] @@ -384,10 +384,10 @@ def dump_qmp_probe_strings(schemalist): toplevel.sort() for c in toplevel: - dump_qmp_probe_strings_iter(c, '(qmp) ' + c, [], schemadict) + dump_qmp_probe_strings_iter(c, dumpprefix + '(qmp) ' + c, [], sche= madict) -def dump_qom_list_types(conv): +def dump_qom_list_types(conv, dumpprefix): types =3D [] for c in conv: @@ -406,10 +406,10 @@ def dump_qom_list_types(conv): types.sort() for t in types: - print('(qom) ' + t) + print(dumpprefix + '(qom) ' + t) -def dump_device_and_object_properties(conv): +def dump_device_and_object_properties(conv, dumpprefix): ent =3D [] for c in conv: @@ -442,7 +442,7 @@ def dump_device_and_object_properties(conv): ent.sort() for e in ent: - print(e) + print(dumpprefix + e) # Sort helper for version string e.g. '11.0', '1.2' etc. Tolerates empty v= ersion. @@ -455,7 +455,7 @@ def machine_type_sorter(item): return list(map(int, key.split('.'))) -def dump_machine_types(conv): +def dump_machine_types(conv, dumpprefix): machines =3D dict() aliases =3D [] @@ -497,13 +497,17 @@ def dump_machine_types(conv): aliases.sort() for a in aliases: - print('(machine alias) ' + a) + print(dumpprefix + '(machine alias) ' + a) def process_one(filename, args): try: conv =3D qemu_replies_load(filename) dumped =3D False + dumpprefix =3D '' + + if args.repliesdir: + dumpprefix =3D filename + ': ' modify_replies(conv) @@ -512,13 +516,13 @@ def process_one(filename, args): validate_qmp_schema(c['rep']['return']) if args.dump_all or args.dump_qmp_query_strings: - dump_qmp_probe_strings(c['rep']['return']) + dump_qmp_probe_strings(c['rep']['return'], dumpprefix) dumped =3D True if args.dump_all: - dump_qom_list_types(conv) - dump_device_and_object_properties(conv) - dump_machine_types(conv) + dump_qom_list_types(conv, dumpprefix) + dump_device_and_object_properties(conv, dumpprefix) + dump_machine_types(conv, dumpprefix) dumped =3D True if dumped: --=20 2.51.0