[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/13] qapi: fix non-compliant JSON examples
From: |
Markus Armbruster |
Subject: |
[PULL 07/13] qapi: fix non-compliant JSON examples |
Date: |
Sat, 6 Jul 2024 09:24:10 +0200 |
From: John Snow <jsnow@redhat.com>
The new QMP documentation generator wants to parse all examples as
"QMP". We have an existing QMP lexer in docs/sphinx/qmp_lexer.py (Seen
in-use here: https://qemu-project.gitlab.io/qemu/interop/bitmaps.html)
that allows the use of "->", "<-" and "..." tokens to denote QMP
protocol flow with elisions, but otherwise defers to the JSON lexer.
To utilize this lexer for the existing QAPI documentation, we need them
to conform to a standard so that they lex and render correctly. Once the
QMP lexer is active for examples, errant QMP/JSON will produce warning
messages and fail the build.
Fix any invalid JSON found in QAPI documentation (identified by
attempting to lex all examples as QMP; see subsequent
commits). Additionally, elisions must be standardized for the QMP lexer;
they must be represented as the value "...", so three examples have been
adjusted to support that format here.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240626222128.406106-9-jsnow@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qapi/control.json | 3 ++-
qapi/machine.json | 2 +-
qapi/migration.json | 2 +-
qapi/misc.json | 3 ++-
qapi/net.json | 6 +++---
qapi/rocker.json | 2 +-
qapi/ui.json | 2 +-
7 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/qapi/control.json b/qapi/control.json
index 6bdbf077c2..10c906fa0e 100644
--- a/qapi/control.json
+++ b/qapi/control.json
@@ -145,7 +145,8 @@
# },
# {
# "name":"system_powerdown"
-# }
+# },
+# ...
# ]
# }
#
diff --git a/qapi/machine.json b/qapi/machine.json
index 2fd3e9c3d5..a982c94503 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -1057,7 +1057,7 @@
# "vcpus-count": 1 },
# { "props": { "core-id": 0 }, "type": "POWER8-spapr-cpu-core",
# "vcpus-count": 1, "qom-path": "/machine/unattached/device[0]"}
-# ]}'
+# ]}
#
# For pc machine type started with -smp 1,maxcpus=2:
#
diff --git a/qapi/migration.json b/qapi/migration.json
index 0f24206bce..9ec9ef36c4 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -2106,7 +2106,7 @@
# Example:
#
# -> {"execute": "calc-dirty-rate", "arguments": {"calc-time": 1,
-# 'sample-pages': 512} }
+# "sample-pages": 512} }
# <- { "return": {} }
#
# Measure dirty rate using dirty bitmap for 500 milliseconds:
diff --git a/qapi/misc.json b/qapi/misc.json
index ec30e5c570..4b41e15dcd 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -287,7 +287,8 @@
#
# Example:
#
-# -> { "execute": "get-win32-socket", "arguments": { "info": "abcd123..",
fdname": "skclient" } }
+# -> { "execute": "get-win32-socket",
+# "arguments": { "info": "abcd123..", "fdname": "skclient" } }
# <- { "return": {} }
##
{ 'command': 'get-win32-socket', 'data': {'info': 'str', 'fdname': 'str'},
'if': 'CONFIG_WIN32' }
diff --git a/qapi/net.json b/qapi/net.json
index 0f5a259475..c19df435a5 100644
--- a/qapi/net.json
+++ b/qapi/net.json
@@ -1003,9 +1003,9 @@
#
# Example:
#
-# <- { 'event': 'NETDEV_STREAM_DISCONNECTED',
-# 'data': {'netdev-id': 'netdev0'},
-# 'timestamp': {'seconds': 1663330937, 'microseconds': 526695} }
+# <- { "event": "NETDEV_STREAM_DISCONNECTED",
+# "data": {"netdev-id": "netdev0"},
+# "timestamp": {"seconds": 1663330937, "microseconds": 526695} }
##
{ 'event': 'NETDEV_STREAM_DISCONNECTED',
'data': { 'netdev-id': 'str' } }
diff --git a/qapi/rocker.json b/qapi/rocker.json
index 5635cf174f..f5225eb62c 100644
--- a/qapi/rocker.json
+++ b/qapi/rocker.json
@@ -250,7 +250,7 @@
# "action": {"goto-tbl": 10},
# "mask": {"in-pport": 4294901760}
# },
-# {...more...},
+# {...},
# ]}
##
{ 'command': 'query-rocker-of-dpa-flows',
diff --git a/qapi/ui.json b/qapi/ui.json
index f610bce118..c12f529257 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -361,7 +361,7 @@
# "channel-id": 0,
# "tls": false
# },
-# [ ... more channels follow ... ]
+# ...
# ]
# }
# }
--
2.45.0
- [PULL 04/13] qapi/parser: preserve indentation in QAPIDoc sections, (continued)
- [PULL 04/13] qapi/parser: preserve indentation in QAPIDoc sections, Markus Armbruster, 2024/07/06
- [PULL 10/13] qapi: update prose in note blocks, Markus Armbruster, 2024/07/06
- [PULL 03/13] docs/qapidoc: delint a tiny portion of the module, Markus Armbruster, 2024/07/06
- [PULL 09/13] qapi: convert "Note" sections to plain rST, Markus Armbruster, 2024/07/06
- [PULL 06/13] docs/qapidoc: fix nested parsing under untagged sections, Markus Armbruster, 2024/07/06
- [PULL 05/13] qapi/parser: fix comment parsing immediately following a doc block, Markus Armbruster, 2024/07/06
- [PULL 11/13] qapi: add markup to note blocks, Markus Armbruster, 2024/07/06
- [PULL 08/13] qapi: nail down convention that Errors sections are lists, Markus Armbruster, 2024/07/06
- [PULL 13/13] sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments, Markus Armbruster, 2024/07/06
- [PULL 01/13] qapi: linter fixups, Markus Armbruster, 2024/07/06
- [PULL 07/13] qapi: fix non-compliant JSON examples,
Markus Armbruster <=
- [PULL 12/13] qapi/parser: don't parse rST markup as section headers, Markus Armbruster, 2024/07/06
- Re: [PULL 00/13] QAPI patches patches for 2024-07-06, Richard Henderson, 2024/07/08