From patchwork Wed Oct 4 23:05:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Snow X-Patchwork-Id: 13409660 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 6EDFCE936ED for ; Wed, 4 Oct 2023 23:06:38 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qoAwG-00046f-DG; Wed, 04 Oct 2023 19:05:56 -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 1qoAwE-00045b-9V for qemu-devel@nongnu.org; Wed, 04 Oct 2023 19:05:54 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qoAvy-0002da-6T for qemu-devel@nongnu.org; Wed, 04 Oct 2023 19:05:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696460737; 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=MOB+/vtlLZUdKli1u6XA1ebyVaYq96iaGoXcBJRD0dk=; b=R13S1yFi5WMA35hc5soCt8taRwYlTf3IHTV95XfP7U6Mq5wRIJCtf+AnGaXGNOOSqcWM6H P8cWQrzv6Se0LegnafEA4XRqCgoAs+bFav1AT8wdvZAi4C+O05jt5TqwLPd20MyAPbXATm gyTCJ7JdPZOSGFYOiBSFL3+AUrocEEU= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-319-8ErgJ9CZP1iYfavxea_UNQ-1; Wed, 04 Oct 2023 19:05:33 -0400 X-MC-Unique: 8ErgJ9CZP1iYfavxea_UNQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4C915811E96; Wed, 4 Oct 2023 23:05:33 +0000 (UTC) Received: from scv.redhat.com (unknown [10.22.16.59]) by smtp.corp.redhat.com (Postfix) with ESMTP id E249EC15BB8; Wed, 4 Oct 2023 23:05:32 +0000 (UTC) From: John Snow To: qemu-devel@nongnu.org Cc: Markus Armbruster , Victor Toso de Carvalho , Peter Maydell , Michael Roth , John Snow Subject: [PATCH v5 0/3] [DO-NOT-MERGE] qapi: static typing conversion, "pt0" Date: Wed, 4 Oct 2023 19:05:29 -0400 Message-ID: <20231004230532.3002201-1-jsnow@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 Received-SPF: pass client-ip=170.10.129.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, T_SPF_TEMPERROR=0.01 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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org I'm sending this one out for Victor Toso's benefit this time. If you aren't Victor Toso, you can probably mark this as read now. If you're Markus, you can just assume everything in here is perfect and good. This is a manual testing pre-requisite for other QAPI cleanup patches. It isn't meant for inclusion, it's included here as an informative basis for ongoing work only. (Except the last patch, which is perfect and good, and Markus should apply it without even looking at it. That's just how normal and good it is.) sphinx-autodoc is enabled for the scripts/qapi package so that docstring formatting can be validated and inspected to make sure the output looks "nice". It is not necessarily how we'd want to expose this information, ultimately, but serves as a good smoke test for base-line docstring consistency. Lastly, some scripts/tools for running linters with "canonical" configurations are provided as a means to verify the linting base-line. I use these to validate my own work. V5: - Rebased on today's origin/master; - Minor fix to re-establish baseline. John Snow (3): [DO-NOT-MERGE] docs: enable sphinx-autodoc for scripts/qapi [DO-NOT-MERGE]: Add some ad-hoc linting helpers. qapi: re-establish linting baseline docs/conf.py | 3 ++- docs/devel/index.rst | 1 + docs/devel/python/index.rst | 7 +++++++ docs/devel/python/qapi.commands.rst | 7 +++++++ docs/devel/python/qapi.common.rst | 7 +++++++ docs/devel/python/qapi.error.rst | 7 +++++++ docs/devel/python/qapi.events.rst | 7 +++++++ docs/devel/python/qapi.expr.rst | 7 +++++++ docs/devel/python/qapi.gen.rst | 7 +++++++ docs/devel/python/qapi.introspect.rst | 7 +++++++ docs/devel/python/qapi.main.rst | 7 +++++++ docs/devel/python/qapi.parser.rst | 8 ++++++++ docs/devel/python/qapi.rst | 26 ++++++++++++++++++++++++ docs/devel/python/qapi.schema.rst | 7 +++++++ docs/devel/python/qapi.source.rst | 7 +++++++ docs/devel/python/qapi.types.rst | 7 +++++++ docs/devel/python/qapi.visit.rst | 7 +++++++ scripts/qapi-lint.sh | 29 +++++++++++++++++++++++++++ scripts/qapi/Makefile | 5 +++++ scripts/qapi/gen.py | 2 +- scripts/qapi/parser.py | 5 +++-- 21 files changed, 166 insertions(+), 4 deletions(-) create mode 100644 docs/devel/python/index.rst create mode 100644 docs/devel/python/qapi.commands.rst create mode 100644 docs/devel/python/qapi.common.rst create mode 100644 docs/devel/python/qapi.error.rst create mode 100644 docs/devel/python/qapi.events.rst create mode 100644 docs/devel/python/qapi.expr.rst create mode 100644 docs/devel/python/qapi.gen.rst create mode 100644 docs/devel/python/qapi.introspect.rst create mode 100644 docs/devel/python/qapi.main.rst create mode 100644 docs/devel/python/qapi.parser.rst create mode 100644 docs/devel/python/qapi.rst create mode 100644 docs/devel/python/qapi.schema.rst create mode 100644 docs/devel/python/qapi.source.rst create mode 100644 docs/devel/python/qapi.types.rst create mode 100644 docs/devel/python/qapi.visit.rst create mode 100755 scripts/qapi-lint.sh create mode 100644 scripts/qapi/Makefile