From mboxrd@z Thu Jan 1 00:00:00 1970 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=-10.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,INCLUDES_CR_TRAILER, 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 DC330C433F5 for ; Mon, 13 Sep 2021 14:16:30 +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 645D560F92 for ; Mon, 13 Sep 2021 14:16:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 645D560F92 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]:45038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mPml3-00018Q-IZ for qemu-devel@archiver.kernel.org; Mon, 13 Sep 2021 10:16:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mPm26-0007qw-3M for qemu-devel@nongnu.org; Mon, 13 Sep 2021 09:30:02 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:34984) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mPm22-0003JM-VK for qemu-devel@nongnu.org; Mon, 13 Sep 2021 09:30:01 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631539795; 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: in-reply-to:in-reply-to:references:references; bh=riMg64p5yTvMl9N7FaeiFWBgApcoA2WuatzjpcZCIJ4=; b=OUAupqpG31IuMtk0A1nxc2jlJ7vnMz1mmy06GPQZTW7cHoSGqVSLKnlOL+IEOpqFgZOVXW Uz3UUvT8aw5efXCe1UUbIG5GLy9CyEau5WhTtGcQmFrTmGXQTHUavRi0qMan0CS4nILISl OVw/iUehGQ1029zCD3NGHPfZvzuMgd0= Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-181-2GCgoDUCOgq-oSuTYuRljg-1; Mon, 13 Sep 2021 09:29:51 -0400 X-MC-Unique: 2GCgoDUCOgq-oSuTYuRljg-1 Received: by mail-pf1-f200.google.com with SMTP id k206-20020a6284d7000000b004380af887afso4187288pfd.17 for ; Mon, 13 Sep 2021 06:29:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=riMg64p5yTvMl9N7FaeiFWBgApcoA2WuatzjpcZCIJ4=; b=5ASjNnJLtBhquiChYLmQiz1PympDQndcWQU7nRCMz68q02S8zjqnBqMZubt/BpTje4 +uhiAChp6b1E3cBkOzBaOQ8BR7UiUm9CtV20zGIgOlN8n7oGRxXxEqwxl6eeWBreGznb kapGuMYy3Dr2IejxWL1DvTrkPI4AwgEe6weaCG+591805aTdkDnvv6irmhrNGhnNHQJl 78sBRo3aomF18A4k8ajMhLX7ZF9S9mYQT2OZT/3/fT1Nu4yHDeuU8oHC3Fus6kARaIiF VQDWjuF1cYbzz+9Z/lY4hURq+j/gnzYhi0L5g/qKNhd+4v47SowSbeOZTErXPjv1C+hf 5pAw== X-Gm-Message-State: AOAM532VHI22jd1LOwj+n6HNHhXDD2KErxllrRiwWjrooLdBp56oEfn9 MLDVRIgje58e+jvZWUGdSrq8pfpqupthIKOJj0iQnEwy6sxQLyk6DmSjzGtJH8ikw/gUxmaQdKF 9huKOI/K7PBj3MtSdddmMyd3CzymEx4g= X-Received: by 2002:a63:1902:: with SMTP id z2mr11243771pgl.312.1631539787728; Mon, 13 Sep 2021 06:29:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLpLeUyAAh312HE42bQK/zHLJ7KXmHPyxmt5MJ3vrRD5ZJg+p+SPkGuaVtdvQOSRO0NdR8JvUygluylTrDc84= X-Received: by 2002:a63:1902:: with SMTP id z2mr11243754pgl.312.1631539787481; Mon, 13 Sep 2021 06:29:47 -0700 (PDT) MIME-Version: 1.0 References: <20210913123932.3306639-1-armbru@redhat.com> <20210913123932.3306639-2-armbru@redhat.com> In-Reply-To: <20210913123932.3306639-2-armbru@redhat.com> From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Date: Mon, 13 Sep 2021 17:29:36 +0400 Message-ID: Subject: Re: [PATCH 01/22] qapi: Tidy up unusual line breaks To: Markus Armbruster Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mlureau@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/alternative; boundary="0000000000007857a705cbe075bf" Received-SPF: pass client-ip=216.205.24.124; envelope-from=mlureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -31 X-Spam_score: -3.2 X-Spam_bar: --- X-Spam_report: (-3.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.398, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, 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: John Snow , "Blake, Eric" , qemu-devel Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" --0000000000007857a705cbe075bf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi On Mon, Sep 13, 2021 at 4:39 PM Markus Armbruster wrote= : > Break lines between members instead of within members. > > Signed-off-by: Markus Armbruster > Reviewed-by: Marc-Andr=C3=A9 Lureau I wish we would just automated tools to format files. With that git 2.23 feature, no more excuses :): https://www.moxio.com/blog/43/ignoring-bulk-change-commits-with-git-blame Sadly, our mixed json/py format doesn't get parsed after "blake" reformats it (strings or trailing commas). --- > docs/devel/qapi-code-gen.rst | 12 +++++------ > tests/qapi-schema/doc-good.json | 4 ++-- > tests/qapi-schema/enum-if-invalid.json | 4 ++-- > tests/qapi-schema/qapi-schema-test.json | 28 ++++++++++++------------- > 4 files changed, 24 insertions(+), 24 deletions(-) > > diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst > index ced7a5ffe1..b154eae82e 100644 > --- a/docs/devel/qapi-code-gen.rst > +++ b/docs/devel/qapi-code-gen.rst > @@ -859,9 +859,9 @@ longhand form of MEMBER. > Example: a struct type with unconditional member 'foo' and conditional > member 'bar' :: > > - { 'struct': 'IfStruct', 'data': > - { 'foo': 'int', > - 'bar': { 'type': 'int', 'if': 'IFCOND'} } } > + { 'struct': 'IfStruct', > + 'data': { 'foo': 'int', > + 'bar': { 'type': 'int', 'if': 'IFCOND'} } } > > A union's discriminator may not be conditional. > > @@ -871,9 +871,9 @@ the longhand form of ENUM-VALUE_. > Example: an enum type with unconditional value 'foo' and conditional > value 'bar' :: > > - { 'enum': 'IfEnum', 'data': > - [ 'foo', > - { 'name' : 'bar', 'if': 'IFCOND' } ] } > + { 'enum': 'IfEnum', > + 'data': [ 'foo', > + { 'name' : 'bar', 'if': 'IFCOND' } ] } > > Likewise, features can be conditional. This requires the longhand > form of FEATURE_. > diff --git a/tests/qapi-schema/doc-good.json > b/tests/qapi-schema/doc-good.json > index e0027e4cf6..cbf5c56c4b 100644 > --- a/tests/qapi-schema/doc-good.json > +++ b/tests/qapi-schema/doc-good.json > @@ -60,8 +60,8 @@ > # > # @two is undocumented > ## > -{ 'enum': 'Enum', 'data': > - [ { 'name': 'one', 'if': 'IFONE' }, 'two' ], > +{ 'enum': 'Enum', > + 'data': [ { 'name': 'one', 'if': 'IFONE' }, 'two' ], > 'features': [ 'enum-feat' ], > 'if': 'IFCOND' } > > diff --git a/tests/qapi-schema/enum-if-invalid.json > b/tests/qapi-schema/enum-if-invalid.json > index 60bd0ef1d7..6bd20041f3 100644 > --- a/tests/qapi-schema/enum-if-invalid.json > +++ b/tests/qapi-schema/enum-if-invalid.json > @@ -1,3 +1,3 @@ > # check invalid 'if' type > -{ 'enum': 'TestIfEnum', 'data': > - [ 'foo', { 'name' : 'bar', 'if': { 'val': 'foo' } } ] } > +{ 'enum': 'TestIfEnum', > + 'data': [ 'foo', { 'name' : 'bar', 'if': { 'val': 'foo' } } ] } > diff --git a/tests/qapi-schema/qapi-schema-test.json > b/tests/qapi-schema/qapi-schema-test.json > index b6c36a9eee..3c43e14e22 100644 > --- a/tests/qapi-schema/qapi-schema-test.json > +++ b/tests/qapi-schema/qapi-schema-test.json > @@ -220,27 +220,27 @@ > > # test 'if' condition handling > > -{ 'struct': 'TestIfStruct', 'data': > - { 'foo': 'int', > - 'bar': { 'type': 'int', 'if': 'TEST_IF_STRUCT_BAR'} }, > +{ 'struct': 'TestIfStruct', > + 'data': { 'foo': 'int', > + 'bar': { 'type': 'int', 'if': 'TEST_IF_STRUCT_BAR'} }, > 'if': 'TEST_IF_STRUCT' } > > -{ 'enum': 'TestIfEnum', 'data': > - [ 'foo', { 'name' : 'bar', 'if': 'TEST_IF_ENUM_BAR' } ], > +{ 'enum': 'TestIfEnum', > + 'data': [ 'foo', { 'name' : 'bar', 'if': 'TEST_IF_ENUM_BAR' } ], > 'if': 'TEST_IF_ENUM' } > > -{ 'union': 'TestIfUnion', 'data': > - { 'foo': 'TestStruct', > - 'bar': { 'type': 'str', 'if': 'TEST_IF_UNION_BAR'} }, > +{ 'union': 'TestIfUnion', > + 'data': { 'foo': 'TestStruct', > + 'bar': { 'type': 'str', 'if': 'TEST_IF_UNION_BAR'} }, > 'if': { 'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT'] } } > > { 'command': 'test-if-union-cmd', > 'data': { 'union-cmd-arg': 'TestIfUnion' }, > 'if': { 'all': ['TEST_IF_UNION', 'TEST_IF_STRUCT'] } } > > -{ 'alternate': 'TestIfAlternate', 'data': > - { 'foo': 'int', > - 'bar': { 'type': 'TestStruct', 'if': 'TEST_IF_ALT_BAR'} }, > +{ 'alternate': 'TestIfAlternate', > + 'data': { 'foo': 'int', > + 'bar': { 'type': 'TestStruct', 'if': 'TEST_IF_ALT_BAR'} }, > 'if': { 'all': ['TEST_IF_ALT', 'TEST_IF_STRUCT'] } } > > { 'command': 'test-if-alternate-cmd', > @@ -256,9 +256,9 @@ > > { 'command': 'test-cmd-return-def-three', 'returns': 'UserDefThree' } > > -{ 'event': 'TEST_IF_EVENT', 'data': > - { 'foo': 'TestIfStruct', > - 'bar': { 'type': ['TestIfEnum'], 'if': 'TEST_IF_EVT_BAR' } }, > +{ 'event': 'TEST_IF_EVENT', > + 'data': { 'foo': 'TestIfStruct', > + 'bar': { 'type': ['TestIfEnum'], 'if': 'TEST_IF_EVT_BAR' } }= , > 'if': { 'all': ['TEST_IF_EVT', 'TEST_IF_STRUCT'] } } > > { 'event': 'TEST_IF_EVENT2', 'data': {}, > -- > 2.31.1 > > --0000000000007857a705cbe075bf Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi


I wish we would just automated tools to format files. With that git 2= .23 feature, no more excuses :):

=
Sadly, our mixed json/py format doesn't get parsed after &q= uot;blake" reformats it (strings or trailing commas).
---
=C2=A0docs/devel/qapi-code-gen.rst=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= | 12 +++++------
=C2=A0tests/qapi-schema/doc-good.json=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2= =A0 4 ++--
=C2=A0tests/qapi-schema/enum-if-invalid.json=C2=A0 |=C2=A0 4 ++--
=C2=A0tests/qapi-schema/qapi-schema-test.json | 28 ++++++++++++------------= -
=C2=A04 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst index ced7a5ffe1..b154eae82e 100644
--- a/docs/devel/qapi-code-gen.rst
+++ b/docs/devel/qapi-code-gen.rst
@@ -859,9 +859,9 @@ longhand form of MEMBER.
=C2=A0Example: a struct type with unconditional member 'foo' and co= nditional
=C2=A0member 'bar' ::

- { 'struct': 'IfStruct', 'data':
-=C2=A0 =C2=A0{ 'foo': 'int',
-=C2=A0 =C2=A0 =C2=A0'bar': { 'type': 'int', 'i= f': 'IFCOND'} } }
+ { 'struct': 'IfStruct',
+=C2=A0 =C2=A0'data': { 'foo': 'int',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'bar': { 'type= ': 'int', 'if': 'IFCOND'} } }

=C2=A0A union's discriminator may not be conditional.

@@ -871,9 +871,9 @@ the longhand form of ENUM-VALUE_.
=C2=A0Example: an enum type with unconditional value 'foo' and cond= itional
=C2=A0value 'bar' ::

- { 'enum': 'IfEnum', 'data':
-=C2=A0 =C2=A0[ 'foo',
-=C2=A0 =C2=A0 =C2=A0{ 'name' : 'bar', 'if': 'I= FCOND' } ] }
+ { 'enum': 'IfEnum',
+=C2=A0 =C2=A0'data': [ 'foo',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{ 'name' : 'ba= r', 'if': 'IFCOND' } ] }

=C2=A0Likewise, features can be conditional.=C2=A0 This requires the longha= nd
=C2=A0form of FEATURE_.
diff --git a/tests/qapi-schema/doc-good.json b/tests/qapi-schema/doc-good.j= son
index e0027e4cf6..cbf5c56c4b 100644
--- a/tests/qapi-schema/doc-good.json
+++ b/tests/qapi-schema/doc-good.json
@@ -60,8 +60,8 @@
=C2=A0#
=C2=A0# @two is undocumented
=C2=A0##
-{ 'enum': 'Enum', 'data':
-=C2=A0 [ { 'name': 'one', 'if': 'IFONE' },= 'two' ],
+{ 'enum': 'Enum',
+=C2=A0 'data': [ { 'name': 'one', 'if': &#= 39;IFONE' }, 'two' ],
=C2=A0 =C2=A0'features': [ 'enum-feat' ],
=C2=A0 =C2=A0'if': 'IFCOND' }

diff --git a/tests/qapi-schema/enum-if-invalid.json b/tests/qapi-schema/enu= m-if-invalid.json
index 60bd0ef1d7..6bd20041f3 100644
--- a/tests/qapi-schema/enum-if-invalid.json
+++ b/tests/qapi-schema/enum-if-invalid.json
@@ -1,3 +1,3 @@
=C2=A0# check invalid 'if' type
-{ 'enum': 'TestIfEnum', 'data':
-=C2=A0 [ 'foo', { 'name' : 'bar', 'if': { = 'val': 'foo' } } ] }
+{ 'enum': 'TestIfEnum',
+=C2=A0 'data': [ 'foo', { 'name' : 'bar', = 'if': { 'val': 'foo' } } ] }
diff --git a/tests/qapi-schema/qapi-schema-test.json b/tests/qapi-schema/qa= pi-schema-test.json
index b6c36a9eee..3c43e14e22 100644
--- a/tests/qapi-schema/qapi-schema-test.json
+++ b/tests/qapi-schema/qapi-schema-test.json
@@ -220,27 +220,27 @@

=C2=A0# test 'if' condition handling

-{ 'struct': 'TestIfStruct', 'data':
-=C2=A0 { 'foo': 'int',
-=C2=A0 =C2=A0 'bar': { 'type': 'int', 'if'= : 'TEST_IF_STRUCT_BAR'} },
+{ 'struct': 'TestIfStruct',
+=C2=A0 'data': { 'foo': 'int',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'bar': { 'type':= 'int', 'if': 'TEST_IF_STRUCT_BAR'} },
=C2=A0 =C2=A0'if': 'TEST_IF_STRUCT' }

-{ 'enum': 'TestIfEnum', 'data':
-=C2=A0 [ 'foo', { 'name' : 'bar', 'if': &#= 39;TEST_IF_ENUM_BAR' } ],
+{ 'enum': 'TestIfEnum',
+=C2=A0 'data': [ 'foo', { 'name' : 'bar', = 'if': 'TEST_IF_ENUM_BAR' } ],
=C2=A0 =C2=A0'if': 'TEST_IF_ENUM' }

-{ 'union': 'TestIfUnion', 'data':
-=C2=A0 { 'foo': 'TestStruct',
-=C2=A0 =C2=A0 'bar': { 'type': 'str', 'if'= : 'TEST_IF_UNION_BAR'} },
+{ 'union': 'TestIfUnion',
+=C2=A0 'data': { 'foo': 'TestStruct',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'bar': { 'type':= 'str', 'if': 'TEST_IF_UNION_BAR'} },
=C2=A0 =C2=A0'if': { 'all': ['TEST_IF_UNION', '= TEST_IF_STRUCT'] } }

=C2=A0{ 'command': 'test-if-union-cmd',
=C2=A0 =C2=A0'data': { 'union-cmd-arg': 'TestIfUnion= 9; },
=C2=A0 =C2=A0'if': { 'all': ['TEST_IF_UNION', '= TEST_IF_STRUCT'] } }

-{ 'alternate': 'TestIfAlternate', 'data':
-=C2=A0 { 'foo': 'int',
-=C2=A0 =C2=A0 'bar': { 'type': 'TestStruct', '= if': 'TEST_IF_ALT_BAR'} },
+{ 'alternate': 'TestIfAlternate',
+=C2=A0 'data': { 'foo': 'int',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'bar': { 'type':= 'TestStruct', 'if': 'TEST_IF_ALT_BAR'} },
=C2=A0 =C2=A0'if': { 'all': ['TEST_IF_ALT', 'TE= ST_IF_STRUCT'] } }

=C2=A0{ 'command': 'test-if-alternate-cmd',
@@ -256,9 +256,9 @@

=C2=A0{ 'command': 'test-cmd-return-def-three', 'return= s': 'UserDefThree' }

-{ 'event': 'TEST_IF_EVENT', 'data':
-=C2=A0 { 'foo': 'TestIfStruct',
-=C2=A0 =C2=A0 'bar': { 'type': ['TestIfEnum'], = 9;if': 'TEST_IF_EVT_BAR' } },
+{ 'event': 'TEST_IF_EVENT',
+=C2=A0 'data': { 'foo': 'TestIfStruct',
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'bar': { 'type':= ['TestIfEnum'], 'if': 'TEST_IF_EVT_BAR' } },
=C2=A0 =C2=A0'if': { 'all': ['TEST_IF_EVT', 'TE= ST_IF_STRUCT'] } }

=C2=A0{ 'event': 'TEST_IF_EVENT2', 'data': {},
--
2.31.1

--0000000000007857a705cbe075bf--