From patchwork Fri Sep 17 05:40:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Snow X-Patchwork-Id: 12501061 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B975DC433EF for ; Fri, 17 Sep 2021 05:43:52 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3D49F61130 for ; Fri, 17 Sep 2021 05:43:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3D49F61130 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:35276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mR6f9-0007my-F9 for qemu-devel@archiver.kernel.org; Fri, 17 Sep 2021 01:43:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47990) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mR6cW-0004px-Lm for qemu-devel@nongnu.org; Fri, 17 Sep 2021 01:41:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:23248) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mR6cT-0003GW-MU for qemu-devel@nongnu.org; Fri, 17 Sep 2021 01:41:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631857264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PwRmHKZt7KaXc3PjOa6poVzGcltWXg9N2KQYvkiuoiU=; b=FLjDY687fRuyy42fMkm0E9WFCwu9E2m43GLxDr8XO47RXbUJNzjTKRcFS4mlTFhABwH5FI L14MsoBhqAaDfjO6/biLZ3AehwxrbZN0TYuS8w4Ob+E8AV7OKg5lMX1+GGbs6g6yT0RWUG 1Cc91oXo2lHLDecqLAj5V56oT677bBA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-441-eiaq5maQPreoBrvNLAeH1w-1; Fri, 17 Sep 2021 01:41:01 -0400 X-MC-Unique: eiaq5maQPreoBrvNLAeH1w-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 694741084687; Fri, 17 Sep 2021 05:41:00 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.11.132]) by smtp.corp.redhat.com (Postfix) with ESMTP id 965B077F3C; Fri, 17 Sep 2021 05:40:47 +0000 (UTC) From: John Snow To: qemu-devel@nongnu.org Subject: [PATCH 00/15] Switch iotests to using Async QMP Date: Fri, 17 Sep 2021 01:40:32 -0400 Message-Id: <20210917054047.2042843-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jsnow@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=216.205.24.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) DKIMWL_WL_HIGH=-0.392, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Vladimir Sementsov-Ogievskiy , Eduardo Habkost , qemu-block@nongnu.org, Hanna Reitz , Cleber Rosa , John Snow Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Based-on: <20210916220716.1353698-1-jsnow@redhat.com> Based-on: <20210915162955.333025-1-jsnow@redhat.com> [PULL 0/2] Python patches [PATCH v4 00/27] python: introduce Asynchronous QMP package Hiya, This series continues where the first AQMP series left off and adds a synchronous 'legacy' wrapper around the new AQMP interface, then drops it straight into iotests to prove that AQMP is functional and totally cool and fine. In the event that a regression happens and I am not physically proximate to inflict damage upon, one may set the QEMU_PYTHON_LEGACY_QMP variable to any non-empty string as it pleases you to engage the QMP machinery you are used to. I'd like to try and get this committed early in the 6.2 development cycle to give ample time to smooth over any possible regressions. I've tested it locally and via gitlab CI and "worksforme". John Snow (15): python/aqmp: add greeting property to QMPClient python/aqmp: add .empty() method to EventListener python/aqmp: Return cleared events from EventListener.clear() python/qmp: clear events on get_events() call python/qmp: add send_fd_scm directly to QEMUMonitorProtocol python, iotests: remove socket_scm_helper python/aqmp: add send_fd_scm python/aqmp: Create MessageModel and StandaloneModel classes python/machine: remove has_quit argument python/machine: Add support for AQMP backend python/aqmp: Create sync QMP wrapper for iotests iotests: Disable AQMP logging under non-debug modes iotests: Accommodate async QMP Exception classes python/aqmp: Remove scary message python, iotests: replace qmp with aqmp tests/qemu-iotests/socket_scm_helper.c | 136 --------------------- python/qemu/aqmp/__init__.py | 14 --- python/qemu/aqmp/events.py | 15 ++- python/qemu/aqmp/legacy.py | 131 ++++++++++++++++++++ python/qemu/aqmp/models.py | 67 ++++++++--- python/qemu/aqmp/qmp_client.py | 22 ++++ python/qemu/machine/machine.py | 139 +++++++++++++--------- python/qemu/machine/qtest.py | 2 - python/qemu/qmp/__init__.py | 25 ++-- python/qemu/qmp/qmp_shell.py | 1 - scripts/simplebench/bench_block_job.py | 3 +- tests/Makefile.include | 1 - tests/meson.build | 4 - tests/qemu-iotests/040 | 7 +- tests/qemu-iotests/218 | 2 +- tests/qemu-iotests/255 | 2 +- tests/qemu-iotests/iotests.py | 5 +- tests/qemu-iotests/meson.build | 5 - tests/qemu-iotests/testenv.py | 8 +- tests/qemu-iotests/tests/mirror-top-perms | 6 +- 20 files changed, 321 insertions(+), 274 deletions(-) delete mode 100644 tests/qemu-iotests/socket_scm_helper.c create mode 100644 python/qemu/aqmp/legacy.py delete mode 100644 tests/qemu-iotests/meson.build