[Qemu-devel] [PATCH v4 00/28] qapi: QMP dispatch and input visitor work

Markus Armbruster posted 28 patches 7 years, 1 month ago
Failed in applying to current master (apply log)
Test checkpatch failed
Test docker passed
Test s390x passed
MAINTAINERS                           |   1 +
block/nbd.c                           |   2 +-
block/nfs.c                           |   2 +-
block/ssh.c                           |   2 +-
docs/qapi-code-gen.txt                |   2 +-
hw/ppc/spapr_drc.c                    |   5 +
include/monitor/monitor.h             |   1 +
include/qapi/qmp/dispatch.h           |  22 +-
include/qapi/qmp/qerror.h             |   9 -
include/qapi/qobject-input-visitor.h  |  40 +++-
include/qapi/qobject-output-visitor.h |  35 +++-
include/qapi/visitor-impl.h           |   7 +-
include/qapi/visitor.h                |  19 +-
include/qemu/module.h                 |   2 -
monitor.c                             | 178 ++++++----------
qapi/opts-visitor.c                   |  12 ++
qapi/qapi-visit-core.c                |   8 +
qapi/qmp-dispatch.c                   |  39 +++-
qapi/qmp-registry.c                   |  37 ++--
qapi/qobject-input-visitor.c          | 219 ++++++++++++-------
qapi/string-input-visitor.c           |  97 +++++----
qapi/trace-events                     |   1 +
qga/commands.c                        |   2 +-
qga/guest-agent-core.h                |   2 +
qga/main.c                            |  19 +-
qmp.c                                 |   2 +-
qom/qom-qobject.c                     |   4 +-
scripts/qapi-commands.py              |  19 +-
scripts/qapi-introspect.py            |   2 +-
scripts/qapi-visit.py                 |   3 +
target/s390x/cpu_models.c             |   2 +-
tests/Makefile.include                |   9 +-
tests/check-qnull.c                   |   2 +-
tests/libqtest.c                      |  29 ++-
tests/libqtest.h                      |   8 +
tests/qmp-test.c                      | 139 +++++++++++++
tests/test-opts-visitor.c             |  80 +++++++
tests/test-qga.c                      |   2 +-
tests/test-qmp-commands.c             |  14 +-
tests/test-qobject-input-strict.c     | 381 ----------------------------------
tests/test-qobject-input-visitor.c    | 260 ++++++++++++++++++++++-
tests/test-string-input-visitor.c     | 142 ++++++++++---
tests/test-visitor-serialization.c    |   2 +-
trace-events                          |   1 -
vl.c                                  |   2 +-
45 files changed, 1093 insertions(+), 773 deletions(-)
create mode 100644 tests/qmp-test.c
delete mode 100644 tests/test-qobject-input-strict.c
[Qemu-devel] [PATCH v4 00/28] qapi: QMP dispatch and input visitor work
Posted by Markus Armbruster 7 years, 1 month ago
v4:
* PATCH 05+06: New
* PATCH 07: Messing with the list of commands breaks when multiple
  monitors race against each other, use two separate lists instead
  (R-by dropped)
v3:
* PATCH 12+18+19: Commit message tidied up [Eric]
* PATCH 17: Spurious whitespace change dropped [Eric]
* PATCH 22: Missing visit_end_list() fixed [Eric]
* PATCH 23: Misplaced visit_end_list() fixed, unwanted test change
  dropped [Eric]
v2:
* PATCH 19-20+22+24-25: New
* PATCH 03: Update MAINTAINERS new file
* PATCH 21+23: New test_visitor_in_fail_list_nested(), string visitor
  patch tweaked, comments polished
* PATCH 23: full_name() bugs fixed

Markus Armbruster (28):
  qga: Fix crash on non-dictionary QMP argument
  libqtest: Work around a "QMP wants a newline" bug
  qmp-test: New, covering basic QMP protocol
  qmp: Dumb down how we run QMP command registration
  qapi: Support multiple command registries per program
  qapi-introspect: Mangle --prefix argument properly for C
  qmp: Clean up how we enforce capability negotiation
  qmp: Drop duplicated QMP command object checks
  qmp: Eliminate silly QERR_QMP_* macros
  qmp: Improve QMP dispatch error messages
  qapi: Improve a QObject input visitor error message
  qapi: Clean up after commit 3d344c2
  qapi: Make QObject input visitor set *list reliably
  qapi: Improve qobject input visitor error reporting
  qapi: Drop string input visitor method optional()
  qapi: Make string input and opts visitor require non-null input
  qom: Make object_property_set_qobject()'s input visitor strict
  test-qobject-input-visitor: Use strict visitor
  qapi: Drop unused non-strict qobject input visitor
  tests-qobject-input-strict: Merge into test-qobject-input-visitor
  test-string-input-visitor: Tear down existing test automatically
  test-string-input-visitor: Improve list coverage
  tests: Cover partial input visit of list
  test-qobject-input-visitor: Cover missing nested struct member
  qapi: Make input visitors detect unvisited list tails
  tests: Cover input visit beyond end of list
  qapi: Fix object input visit beyond end of list
  qapi: Improve qobject visitor documentation

 MAINTAINERS                           |   1 +
 block/nbd.c                           |   2 +-
 block/nfs.c                           |   2 +-
 block/ssh.c                           |   2 +-
 docs/qapi-code-gen.txt                |   2 +-
 hw/ppc/spapr_drc.c                    |   5 +
 include/monitor/monitor.h             |   1 +
 include/qapi/qmp/dispatch.h           |  22 +-
 include/qapi/qmp/qerror.h             |   9 -
 include/qapi/qobject-input-visitor.h  |  40 +++-
 include/qapi/qobject-output-visitor.h |  35 +++-
 include/qapi/visitor-impl.h           |   7 +-
 include/qapi/visitor.h                |  19 +-
 include/qemu/module.h                 |   2 -
 monitor.c                             | 178 ++++++----------
 qapi/opts-visitor.c                   |  12 ++
 qapi/qapi-visit-core.c                |   8 +
 qapi/qmp-dispatch.c                   |  39 +++-
 qapi/qmp-registry.c                   |  37 ++--
 qapi/qobject-input-visitor.c          | 219 ++++++++++++-------
 qapi/string-input-visitor.c           |  97 +++++----
 qapi/trace-events                     |   1 +
 qga/commands.c                        |   2 +-
 qga/guest-agent-core.h                |   2 +
 qga/main.c                            |  19 +-
 qmp.c                                 |   2 +-
 qom/qom-qobject.c                     |   4 +-
 scripts/qapi-commands.py              |  19 +-
 scripts/qapi-introspect.py            |   2 +-
 scripts/qapi-visit.py                 |   3 +
 target/s390x/cpu_models.c             |   2 +-
 tests/Makefile.include                |   9 +-
 tests/check-qnull.c                   |   2 +-
 tests/libqtest.c                      |  29 ++-
 tests/libqtest.h                      |   8 +
 tests/qmp-test.c                      | 139 +++++++++++++
 tests/test-opts-visitor.c             |  80 +++++++
 tests/test-qga.c                      |   2 +-
 tests/test-qmp-commands.c             |  14 +-
 tests/test-qobject-input-strict.c     | 381 ----------------------------------
 tests/test-qobject-input-visitor.c    | 260 ++++++++++++++++++++++-
 tests/test-string-input-visitor.c     | 142 ++++++++++---
 tests/test-visitor-serialization.c    |   2 +-
 trace-events                          |   1 -
 vl.c                                  |   2 +-
 45 files changed, 1093 insertions(+), 773 deletions(-)
 create mode 100644 tests/qmp-test.c
 delete mode 100644 tests/test-qobject-input-strict.c

-- 
2.7.4


Re: [Qemu-devel] [PATCH v4 00/28] qapi: QMP dispatch and input visitor work
Posted by no-reply@patchew.org 7 years, 1 month ago
Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 1488544368-30622-1-git-send-email-armbru@redhat.com
Type: series
Subject: [Qemu-devel] [PATCH v4 00/28] qapi: QMP dispatch and input visitor work

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/1488544368-30622-1-git-send-email-armbru@redhat.com -> patchew/1488544368-30622-1-git-send-email-armbru@redhat.com
Switched to a new branch 'test'
0fcdaa8 qapi: Improve qobject visitor documentation
2302604 qapi: Fix object input visit beyond end of list
ed9dde1 tests: Cover input visit beyond end of list
833e4de qapi: Make input visitors detect unvisited list tails
e307180 test-qobject-input-visitor: Cover missing nested struct member
f75af8b tests: Cover partial input visit of list
0251f6c test-string-input-visitor: Improve list coverage
20cde7c test-string-input-visitor: Tear down existing test automatically
17938fd tests-qobject-input-strict: Merge into test-qobject-input-visitor
d50cfe3 qapi: Drop unused non-strict qobject input visitor
b5bd9d0 test-qobject-input-visitor: Use strict visitor
ce66a1a qom: Make object_property_set_qobject()'s input visitor strict
7e59b7b qapi: Make string input and opts visitor require non-null input
681dfe6 qapi: Drop string input visitor method optional()
5c003fd qapi: Improve qobject input visitor error reporting
f518cf0 qapi: Make QObject input visitor set *list reliably
ec5936a qapi: Clean up after commit 3d344c2
5449a43 qapi: Improve a QObject input visitor error message
4347bc9 qmp: Improve QMP dispatch error messages
b6359af qmp: Eliminate silly QERR_QMP_* macros
c6ba9d0 qmp: Drop duplicated QMP command object checks
7e52b24 qmp: Clean up how we enforce capability negotiation
eb66f8c qapi-introspect: Mangle --prefix argument properly for C
84ddc51 qapi: Support multiple command registries per program
0725a24 qmp: Dumb down how we run QMP command registration
1404809 qmp-test: New, covering basic QMP protocol
5fe3949 libqtest: Work around a "QMP wants a newline" bug
c06623c qga: Fix crash on non-dictionary QMP argument

=== OUTPUT BEGIN ===
Checking PATCH 1/28: qga: Fix crash on non-dictionary QMP argument...
Checking PATCH 2/28: libqtest: Work around a "QMP wants a newline" bug...
Checking PATCH 3/28: qmp-test: New, covering basic QMP protocol...
Checking PATCH 4/28: qmp: Dumb down how we run QMP command registration...
Checking PATCH 5/28: qapi: Support multiple command registries per program...
ERROR: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#143: FILE: qapi/qmp-dispatch.c:70:
+volatile QmpCommand *save_cmd;

ERROR: trailing whitespace
#420: FILE: scripts/qapi-commands.py:201:
+    qmp_register_command(cmds, "%(name)s", $

total: 2 errors, 0 warnings, 435 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 6/28: qapi-introspect: Mangle --prefix argument properly for C...
Checking PATCH 7/28: qmp: Clean up how we enforce capability negotiation...
Checking PATCH 8/28: qmp: Drop duplicated QMP command object checks...
Checking PATCH 9/28: qmp: Eliminate silly QERR_QMP_* macros...
Checking PATCH 10/28: qmp: Improve QMP dispatch error messages...
Checking PATCH 11/28: qapi: Improve a QObject input visitor error message...
Checking PATCH 12/28: qapi: Clean up after commit 3d344c2...
Checking PATCH 13/28: qapi: Make QObject input visitor set *list reliably...
Checking PATCH 14/28: qapi: Improve qobject input visitor error reporting...
Checking PATCH 15/28: qapi: Drop string input visitor method optional()...
Checking PATCH 16/28: qapi: Make string input and opts visitor require non-null input...
Checking PATCH 17/28: qom: Make object_property_set_qobject()'s input visitor strict...
Checking PATCH 18/28: test-qobject-input-visitor: Use strict visitor...
Checking PATCH 19/28: qapi: Drop unused non-strict qobject input visitor...
Checking PATCH 20/28: tests-qobject-input-strict: Merge into test-qobject-input-visitor...
ERROR: line over 90 characters
#486: FILE: tests/test-qobject-input-visitor.c:847:
+    v = visitor_input_test_init(data, "{ 'integer': -42, 'boolean': true, 'string': 'foo', 'extra': 42 }");

ERROR: line over 90 characters
#500: FILE: tests/test-qobject-input-visitor.c:861:
+    v = visitor_input_test_init(data, "{ 'string0': 'string0', 'dict1': { 'string1': 'string1', 'dict2': { 'userdef1': { 'integer': 42, 'string': 'string', 'extra': [42, 23, {'foo':'bar'}] }, 'string2': 'string2'}}}");

ERROR: line over 90 characters
#514: FILE: tests/test-qobject-input-visitor.c:875:
+    v = visitor_input_test_init(data, "[ { 'string': 'string0', 'integer': 42 }, { 'string': 'string1', 'integer': 43 }, { 'string': 'string2', 'integer': 44, 'extra': 'ggg' } ]");

ERROR: line over 90 characters
#587: FILE: tests/test-qobject-input-visitor.c:948:
+    v = visitor_input_test_init(data, "{ 'string': 'c', 'integer': 41, 'boolean': true }");

WARNING: line over 80 characters
#594: FILE: tests/test-qobject-input-visitor.c:955:
+static void test_visitor_in_fail_union_flat_no_discrim(TestInputVisitorData *data,

ERROR: line over 90 characters
#602: FILE: tests/test-qobject-input-visitor.c:963:
+    v = visitor_input_test_init(data, "{ 'integer': 42, 'string': 'c', 'string1': 'd', 'string2': 'e' }");

total: 5 errors, 1 warnings, 233 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 21/28: test-string-input-visitor: Tear down existing test automatically...
Checking PATCH 22/28: test-string-input-visitor: Improve list coverage...
Checking PATCH 23/28: tests: Cover partial input visit of list...
Checking PATCH 24/28: test-qobject-input-visitor: Cover missing nested struct member...
Checking PATCH 25/28: qapi: Make input visitors detect unvisited list tails...
Checking PATCH 26/28: tests: Cover input visit beyond end of list...
ERROR: if this code is redundant consider removing it
#85: FILE: tests/test-qobject-input-visitor.c:956:
+#if 0 /* FIXME crash */

total: 1 errors, 0 warnings, 95 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 27/28: qapi: Fix object input visit beyond end of list...
Checking PATCH 28/28: qapi: Improve qobject visitor documentation...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org