[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 2546be: qmp-dispatch: Use CommandNotFound err
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 2546be: qmp-dispatch: Use CommandNotFound error for disabl... |
Date: |
Tue, 01 Oct 2019 05:13:07 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 2546be1c85913da46fe4fb15fefdcbfad026a7df
https://github.com/qemu/qemu/commit/2546be1c85913da46fe4fb15fefdcbfad026a7df
Author: Michal Privoznik <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M qapi/qmp-dispatch.c
M tests/test-qga.c
Log Message:
-----------
qmp-dispatch: Use CommandNotFound error for disabled commands
If a command is disabled an error is reported. But due to usage of
error_setg() the class of the error is GenericError which does not
help callers in distinguishing this case from a case where a qmp
command fails regularly due to other reasons.
We used to use class CommandDisabled until the great error
simplification (commit de253f1491 for QMP and commit 93b91c59db for
qemu-ga, both v1.2.0).
Use CommandNotFound error class, which is close enough.
Signed-off-by: Michal Privoznik <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
[Test update squashed in, commit message tweaked]
Signed-off-by: Markus Armbruster <address@hidden>
Commit: 0ca7b11709b8e81e5e8f28245b5b594b597b062b
https://github.com/qemu/qemu/commit/0ca7b11709b8e81e5e8f28245b5b594b597b062b
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Tighten QAPISchemaFOO.check() assertions
When we introduced the QAPISchema intermediate representation (commit
ac88219a6c7), we took a shortcut: we left check_exprs() & friends
alone instead of moving semantic checks into the
QAPISchemaFOO.check(). check_exprs() still checks and reports errors,
and the .check() assert check_exprs() did the job. There are a few
gaps, though.
QAPISchemaArrayType.check() neglects to assert the element type is not
an array. Add the assertion.
QAPISchemaObjectTypeVariants.check() neglects to assert the tag member
is not optional. Add the assertion.
It neglects to assert the tag member is not conditional. Add the
assertion.
It neglects to assert we actually have variants. Add the assertion.
It asserts the variants are object types, but neglects to assert they
don't have variants. Tighten the assertion.
QAPISchemaObjectTypeVariants.check_clash() has the same issue.
However, it can run only after .check(). Delete the assertion instead
of tightening it.
QAPISchemaAlternateType.check() neglects to assert the branch types
don't conflict. Fixing that isn't trivial, so add just a TODO comment
for now. It'll be resolved later in this series.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 57608a5299064f7219d00447160103946c796436
https://github.com/qemu/qemu/commit/57608a5299064f7219d00447160103946c796436
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Rename .owner to .defined_in
QAPISchemaMember.owner is the name of the defining entity. That's a
confusing name when an object type inherits members from a base type.
Rename it to .defined_in. Rename .set_owner() and ._pretty_owner() to
match.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 19e950d9d47d3efe4c8d5c6c872a53889a54363c
https://github.com/qemu/qemu/commit/19e950d9d47d3efe4c8d5c6c872a53889a54363c
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: New QAPISourceInfo, replacing dict
We track source locations with a dict of the form
{'file': FNAME, 'line': LINENO, 'parent': PARENT}
where PARENT is None for the main file, and the include directive's
source location for included files.
This is serviceable enough, but the next commit will add information,
and that's going to come out cleaner if we turn this into a class. So
do that.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 7be6c511943613c60b3e5b640e09bdc916be3b65
https://github.com/qemu/qemu/commit/7be6c511943613c60b3e5b640e09bdc916be3b65
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-branch-if-invalid.err
M tests/qapi-schema/alternate-clash.err
M tests/qapi-schema/alternate-conflict-bool-string.err
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-enum-bool.err
M tests/qapi-schema/alternate-conflict-enum-int.err
M tests/qapi-schema/alternate-conflict-num-string.err
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-invalid-dict.err
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/args-alternate.err
M tests/qapi-schema/args-any.err
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-boxed-anon.err
M tests/qapi-schema/args-boxed-string.err
M tests/qapi-schema/args-int.err
M tests/qapi-schema/args-invalid.err
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/args-name-clash.err
M tests/qapi-schema/args-union.err
M tests/qapi-schema/args-unknown.err
M tests/qapi-schema/bad-base.err
M tests/qapi-schema/bad-data.err
M tests/qapi-schema/base-cycle-direct.err
M tests/qapi-schema/base-cycle-indirect.err
M tests/qapi-schema/doc-bad-symbol.err
M tests/qapi-schema/enum-bad-member.err
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-clash-member.err
M tests/qapi-schema/enum-dict-member-unknown.err
M tests/qapi-schema/enum-if-invalid.err
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/event-boxed-empty.err
M tests/qapi-schema/event-member-invalid-dict.err
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/features-bad-type.err
M tests/qapi-schema/features-duplicate-name.err
M tests/qapi-schema/features-if-invalid.err
M tests/qapi-schema/features-missing-name.err
M tests/qapi-schema/features-name-bad-type.err
M tests/qapi-schema/features-no-list.err
M tests/qapi-schema/features-unknown-key.err
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-bad-base.err
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-base-any.err
M tests/qapi-schema/flat-union-base-union.err
M tests/qapi-schema/flat-union-clash-member.err
M tests/qapi-schema/flat-union-discriminator-bad-name.err
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-inline-invalid-dict.err
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-discriminator.err
M tests/qapi-schema/flat-union-invalid-if-discriminator.err
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/nested-struct-data-invalid-dict.err
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/returns-alternate.err
M tests/qapi-schema/returns-array-bad.err
M tests/qapi-schema/returns-dict.err
M tests/qapi-schema/returns-unknown.err
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/struct-base-clash-deep.err
M tests/qapi-schema/struct-base-clash.err
M tests/qapi-schema/struct-data-invalid.err
M tests/qapi-schema/struct-member-if-invalid.err
M tests/qapi-schema/struct-member-invalid-dict.err
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/union-base-empty.err
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-if-invalid.err
M tests/qapi-schema/union-branch-invalid-dict.err
M tests/qapi-schema/union-clash-branches.err
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-invalid-base.err
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/union-unknown.err
Log Message:
-----------
qapi: Prefix frontend errors with an "in definition" line
We take pains to include the offending expression in error messages,
e.g.
tests/qapi-schema/alternate-any.json:2: alternate 'Alt' member 'one' cannot
use type 'any'
But not always:
tests/qapi-schema/enum-if-invalid.json:2: 'if' condition must be a string
or a list of strings
Instead of improving them one by one, report the offending expression
whenever it is known, like this:
tests/qapi-schema/enum-if-invalid.json: In enum 'TestIfEnum':
tests/qapi-schema/enum-if-invalid.json:2: 'if' condition must be a string
or a list of strings
Error messages that mention the offending expression become a bit
redundant, e.g.
tests/qapi-schema/alternate-any.json: In alternate 'Alt':
tests/qapi-schema/alternate-any.json:2: alternate 'Alt' member 'one' cannot
use type 'any'
I'll take care of that later in this series.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 638c4af9310ee1f8bf878da99c87c0af26417679
https://github.com/qemu/qemu/commit/638c4af9310ee1f8bf878da99c87c0af26417679
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M qapi/qapi-schema.json
M scripts/qapi/common.py
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-case.json
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-case.json
Log Message:
-----------
qapi: Clean up member name case checking
QAPISchemaMember.check_clash() checks for member names that map to the
same c_name(). Takes care of rejecting duplicate names.
It also checks a naming rule: no uppercase in member names. That's a
rather odd place to do it. Enforcing naming rules is
check_name_str()'s job.
qapi-code-gen.txt specifies the name case rule applies to the name as
it appears in the schema. check_clash() checks c_name(name) instead.
No difference, as c_name() leaves alone case, but unclean.
Move the name case check into check_name_str(), less the c_name().
New argument @permit_upper suppresses it. Pass permit_upper=True for
definitions (which are not members), and when the member's owner is
whitelisted with pragma name-case-whitelist.
Bonus: name-case-whitelist now applies to a union's inline base, too.
Update qapi/qapi-schema.json pragma to whitelist union CpuInfo instead
of CpuInfo's implicit base type's name q_obj_CpuInfo-base.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2ab218aad6e2ddf4e95a7d583492ad7142927ca5
https://github.com/qemu/qemu/commit/2ab218aad6e2ddf4e95a7d583492ad7142927ca5
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/alternate-conflict-bool-string.err
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-enum-bool.err
M tests/qapi-schema/alternate-conflict-enum-int.err
M tests/qapi-schema/alternate-conflict-num-string.err
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-invalid-dict.err
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/bad-type-int.err
M tests/qapi-schema/base-cycle-direct.err
M tests/qapi-schema/base-cycle-indirect.err
M tests/qapi-schema/doc-bad-alternate-member.err
M tests/qapi-schema/doc-bad-command-arg.err
M tests/qapi-schema/doc-bad-symbol.err
M tests/qapi-schema/doc-bad-union-member.err
M tests/qapi-schema/doc-before-include.err
M tests/qapi-schema/doc-before-pragma.err
M tests/qapi-schema/doc-duplicated-return.err
M tests/qapi-schema/doc-duplicated-since.err
M tests/qapi-schema/doc-empty-arg.err
M tests/qapi-schema/doc-empty-section.err
M tests/qapi-schema/doc-empty-symbol.err
M tests/qapi-schema/doc-invalid-end.err
M tests/qapi-schema/doc-invalid-end2.err
M tests/qapi-schema/doc-invalid-start.err
M tests/qapi-schema/doc-missing-colon.err
M tests/qapi-schema/doc-missing-expr.err
M tests/qapi-schema/doc-missing-space.err
M tests/qapi-schema/doc-missing.err
M tests/qapi-schema/doc-no-symbol.err
M tests/qapi-schema/double-type.err
M tests/qapi-schema/duplicate-key.err
M tests/qapi-schema/enum-bad-member.err
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-dict-member-unknown.err
M tests/qapi-schema/enum-int-member.err
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/escape-outside-string.err
M tests/qapi-schema/event-boxed-empty.err
M tests/qapi-schema/event-member-invalid-dict.err
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/features-bad-type.err
M tests/qapi-schema/features-missing-name.err
M tests/qapi-schema/features-name-bad-type.err
M tests/qapi-schema/features-no-list.err
M tests/qapi-schema/features-unknown-key.err
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-discriminator-bad-name.err
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-inline-invalid-dict.err
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-discriminator.err
M tests/qapi-schema/flat-union-invalid-if-discriminator.err
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/funny-char.err
M tests/qapi-schema/funny-word.err
M tests/qapi-schema/ident-with-escape.err
M tests/qapi-schema/include-before-err.err
M tests/qapi-schema/include-cycle.err
M tests/qapi-schema/include-extra-junk.err
M tests/qapi-schema/include-nested-err.err
M tests/qapi-schema/include-non-file.err
M tests/qapi-schema/include-self-cycle.err
M tests/qapi-schema/leading-comma-list.err
M tests/qapi-schema/leading-comma-object.err
M tests/qapi-schema/missing-colon.err
M tests/qapi-schema/missing-comma-list.err
M tests/qapi-schema/missing-comma-object.err
M tests/qapi-schema/missing-type.err
M tests/qapi-schema/nested-struct-data-invalid-dict.err
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/non-objects.err
M tests/qapi-schema/pragma-doc-required-crap.err
M tests/qapi-schema/pragma-extra-junk.err
M tests/qapi-schema/pragma-name-case-whitelist-crap.err
M tests/qapi-schema/pragma-non-dict.err
M tests/qapi-schema/pragma-returns-whitelist-crap.err
M tests/qapi-schema/pragma-unknown.err
M tests/qapi-schema/quoted-structural-chars.err
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/string-code-point-127.err
M tests/qapi-schema/string-code-point-31.err
M tests/qapi-schema/struct-member-invalid-dict.err
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/trailing-comma-list.err
M tests/qapi-schema/trailing-comma-object.err
M tests/qapi-schema/unclosed-list.err
M tests/qapi-schema/unclosed-object.err
M tests/qapi-schema/unclosed-string.err
M tests/qapi-schema/union-base-empty.err
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-invalid-dict.err
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/union-unknown.err
M tests/qapi-schema/unknown-escape.err
M tests/qapi-schema/unknown-expr-key.err
Log Message:
-----------
qapi: Change frontend error messages to start with lower case
Starting error messages with a capital letter complicates things when
text can get interpolated both at the beginning and in the middle of
an error message. The next patch will do that. Switch to lower case
to keep it simpler.
For what it's worth, the GNU Coding Standards advise the message
"should not begin with a capital letter when it follows a program name
and/or file name, because that isn’t the beginning of a sentence. (The
sentence conceptually starts at the beginning of the line.)"
While there, avoid breaking lines containing multiple arguments in the
middle of an argument.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 481a6bd15c4fb99429c3337584c66b40384cb09c
https://github.com/qemu/qemu/commit/481a6bd15c4fb99429c3337584c66b40384cb09c
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-clash.err
M tests/qapi-schema/args-name-clash.err
M tests/qapi-schema/enum-clash-member.err
M tests/qapi-schema/features-duplicate-name.err
M tests/qapi-schema/flat-union-bad-base.err
M tests/qapi-schema/flat-union-clash-member.err
M tests/qapi-schema/struct-base-clash-deep.err
M tests/qapi-schema/struct-base-clash.err
M tests/qapi-schema/union-clash-branches.err
Log Message:
-----------
qapi: Improve reporting of member name clashes
We report name clashes like this:
struct-base-clash.json: In struct 'Sub':
struct-base-clash.json:5: 'name' (member of Sub) collides with 'name'
(member of Base)
The "(member of Sub)" is redundant with "In struct 'Sub'". Comes from
QAPISchemaMember.describe(). Pass info to it, so it can detect the
redundancy and avoid it. Result:
struct-base-clash.json: In struct 'Sub':
struct-base-clash.json:5: member 'name' collides with member 'name' of type
'Base'
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: c9efc984ca5b5f75f184680e1ab9a7784d241578
https://github.com/qemu/qemu/commit/c9efc984ca5b5f75f184680e1ab9a7784d241578
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Reorder check_FOO() parameters for consistency
Most check_FOO() take the thing being checked as first argument.
check_name(), check_type(), check_known_keys() don't. Clean that up.
While there, drop a "Todo" comment that should have been dropped in
commit 87adbbffd4 "qapi: add a dictionary form for TYPE".
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: d7bc17c602f128bb358376e6976b3b5dee1ad732
https://github.com/qemu/qemu/commit/d7bc17c602f128bb358376e6976b3b5dee1ad732
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/command-int.err
M tests/qapi-schema/redefined-builtin.err
M tests/qapi-schema/redefined-command.err
M tests/qapi-schema/redefined-event.err
M tests/qapi-schema/redefined-type.err
M tests/qapi-schema/reserved-command-q.err
M tests/qapi-schema/reserved-type-kind.err
M tests/qapi-schema/reserved-type-list.err
Log Message:
-----------
qapi: Improve reporting of invalid name errors
Split check_name() into check_name_is_str() and check_name_str(), keep
check_name() as a wrapper.
Move add_name()'s call into its caller check_exprs(), and inline.
This permits delaying check_name_str() there, so its error message
gains an "in definition" line.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 6ba1ba7f0e54f100af8d4e28e9bc9978c971c0e0
https://github.com/qemu/qemu/commit/6ba1ba7f0e54f100af8d4e28e9bc9978c971c0e0
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Use check_name_str() where it suffices
Replace check_name() by check_name_str() where the name is known to be
a string.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 64e04f7149dd7f0f32b8e7aa5a89a0c1e6d0b5d6
https://github.com/qemu/qemu/commit/64e04f7149dd7f0f32b8e7aa5a89a0c1e6d0b5d6
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/flat-union-discriminator-bad-name.err
M tests/qapi-schema/flat-union-discriminator-bad-name.json
M tests/qapi-schema/union-optional-branch.err
Log Message:
-----------
qapi: Report invalid '*' prefix like any other invalid name
The special "does not allow optional name" error is well meant, but
confusing in practice. Drop it.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 67fa64ce0ef92943a25de0f0760f8cfc10c2bbf3
https://github.com/qemu/qemu/commit/67fa64ce0ef92943a25de0f0760f8cfc10c2bbf3
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/reserved-command-q.err
Log Message:
-----------
qapi: Move check for reserved names out of add_name()
The checks for reserved names are spread far and wide. Move one from
add_name() to new check_defn_name_str(). This is a first step towards
collecting them all in dedicated name checking functions next to
check_name().
While there, drop the quotes around the meta-type in
check_name_str()'s error messages: "'command' uses ... name 'NAME'"
becomes "command uses ... name 'NAME'".
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 88112488cf228df8b7588c8aa38e16ecd0dff48e
https://github.com/qemu/qemu/commit/88112488cf228df8b7588c8aa38e16ecd0dff48e
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Make check_type()'s array case a bit more obvious
check_type() checks the array's contents, then peels off the array and
falls through to the "not array" code without resetting allow_array
and allow_dict to False. Works because the peeled value is a string,
and allow_array and allow_dict aren't used then. Tidy up anyway:
recurse instead, defaulting allow_array and allow_dict to False.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: e6f9678da5371642e237d6d93595dbc11bd17f85
https://github.com/qemu/qemu/commit/e6f9678da5371642e237d6d93595dbc11bd17f85
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M scripts/qapi/events.py
Log Message:
-----------
qapi: Plumb info to the QAPISchemaMember
Future commits will need info in the .check() methods of
QAPISchemaMember and its descendants. Get it there.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 77daece3d95dc7edaa5982fbbfd7afe3bc4121ac
https://github.com/qemu/qemu/commit/77daece3d95dc7edaa5982fbbfd7afe3bc4121ac
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Inline check_name() into check_union()
check_name() consists of check_name_is_str() and check_name_str().
check_union() relies on the latter to catch optional discriminators.
The next commit will replace that by a more straightforward check.
Inlining check_name() into check_union() now should make that easier
to review.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: fa110c6a9e6c0ae0ce2d4bcf5771cdb8c3e53a7e
https://github.com/qemu/qemu/commit/fa110c6a9e6c0ae0ce2d4bcf5771cdb8c3e53a7e
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-conflict-bool-string.err
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-enum-bool.err
M tests/qapi-schema/alternate-conflict-enum-int.err
M tests/qapi-schema/alternate-conflict-num-string.err
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/args-alternate.err
M tests/qapi-schema/args-any.err
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-boxed-string.err
M tests/qapi-schema/args-int.err
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/args-union.err
M tests/qapi-schema/args-unknown.err
M tests/qapi-schema/bad-base.err
M tests/qapi-schema/command-int.err
M tests/qapi-schema/flat-union-base-any.err
M tests/qapi-schema/flat-union-base-union.err
M tests/qapi-schema/flat-union-discriminator-bad-name.err
M tests/qapi-schema/flat-union-discriminator-bad-name.json
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-if-discriminator.err
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-optional-discriminator.json
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/redefined-builtin.err
M tests/qapi-schema/redefined-type.err
M tests/qapi-schema/returns-alternate.err
M tests/qapi-schema/returns-unknown.err
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-invalid-base.err
M tests/qapi-schema/union-unknown.err
M tests/qapi-schema/union-unknown.json
Log Message:
-----------
qapi: Move context-sensitive checking to the proper place
When we introduced the QAPISchema intermediate representation (commit
ac88219a6c7), we took a shortcut: we left check_exprs() & friends
alone instead of moving semantic checks into the
QAPISchemaFOO.check(). The .check() assert check_exprs() did its job.
Time to finish the conversion job. Move exactly the context-sensitive
checks to the .check(). They replace assertions there. Context-free
checks stay put.
Fixes the misleading optional tag error demonstrated by test
flat-union-optional-discriminator.
A few other error message improve.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 4ebda5abdb9704a3bde299209f8fcaf034079095
https://github.com/qemu/qemu/commit/4ebda5abdb9704a3bde299209f8fcaf034079095
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/event-boxed-empty.err
Log Message:
-----------
qapi: Move context-free checking to the proper place
QAPISchemaCommand.check() and QAPISchemaEvent().check() check 'data'
is present when 'boxed': true. That's context-free. Move to
check_command() and check_event().
Tweak the error message while there.
check_exprs() & friends now check exactly what qapi-code-gen.txt calls
the second layer of syntax.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 576f0b8a53ab12d6ca46ec8f89ec0901d80d0ad8
https://github.com/qemu/qemu/commit/576f0b8a53ab12d6ca46ec8f89ec0901d80d0ad8
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/bad-if-empty-list.err
M tests/qapi-schema/bad-if-empty.err
M tests/qapi-schema/bad-if-list.err
M tests/qapi-schema/bad-if.err
Log Message:
-----------
qapi: Improve reporting of invalid 'if' errors
Move check_if() from check_keys() to check_exprs() and call it later,
so its error messages gain an "in definition" line.
Checking values in a function named check_keys() is unclean anyway.
The original sin was commit 0545f6b887 "qapi: Better error messages
for bad expressions", which checks the value of key 'name'. More
sinning in commit 2cbf09925a "qapi: More rigorous checking for type
safety bypass", commit c818408e44 "qapi: Implement boxed types for
commands/events", and commit 967c885108 "qapi: add 'if' to top-level
expressions". This commit does penance for the latter. The next
commits will do penance for the others.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: a6735a574382b214d7f1ee7b315cc81421aaa77e
https://github.com/qemu/qemu/commit/a6735a574382b214d7f1ee7b315cc81421aaa77e
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/allow-preconfig-test.err
M tests/qapi-schema/args-bad-boxed.err
M tests/qapi-schema/oob-test.err
M tests/qapi-schema/type-bypass-bad-gen.err
Log Message:
-----------
qapi: Improve reporting of invalid flags
Split check_flags() off check_keys() and have check_exprs() call it
later, so its error messages gain an "in definition" line. Tweak the
error messages.
Checking values in a function named check_keys() is unclean anyway.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 3f58cc29a8d2f01dc498ff4624a25e72448059a1
https://github.com/qemu/qemu/commit/3f58cc29a8d2f01dc498ff4624a25e72448059a1
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/bad-type-bool.err
M tests/qapi-schema/bad-type-dict.err
M tests/qapi-schema/double-type.err
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/unknown-expr-key.err
Log Message:
-----------
qapi: Improve reporting of missing / unknown definition keys
Have check_exprs() call check_keys() later, so its error messages gain
an "in definition" line.
Both check_keys() and check_name_is_str() check the definition's name
is a string. Since check_keys() now runs after check_name_is_str()
rather than before, its check is dead. Bury it. Checking values in
check_keys() is unclean anyway.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: eeb57c85da04b0c120562b25e3eac5cb16d8bf15
https://github.com/qemu/qemu/commit/eeb57c85da04b0c120562b25e3eac5cb16d8bf15
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-invalid-dict.err
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-boxed-anon.err
M tests/qapi-schema/args-invalid.err
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/bad-data.err
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/doc-bad-symbol.err
M tests/qapi-schema/double-type.err
M tests/qapi-schema/enum-bad-member.err
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-dict-member-unknown.err
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/event-member-invalid-dict.err
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/features-bad-type.err
M tests/qapi-schema/features-missing-name.err
M tests/qapi-schema/features-name-bad-type.err
M tests/qapi-schema/features-no-list.err
M tests/qapi-schema/features-unknown-key.err
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-inline-invalid-dict.err
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/nested-struct-data-invalid-dict.err
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/reserved-command-q.err
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/reserved-type-kind.err
M tests/qapi-schema/reserved-type-list.err
M tests/qapi-schema/returns-array-bad.err
M tests/qapi-schema/returns-dict.err
M tests/qapi-schema/struct-data-invalid.err
M tests/qapi-schema/struct-member-invalid-dict.err
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-invalid-dict.err
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/unknown-expr-key.err
Log Message:
-----------
qapi: Avoid redundant definition references in error messages
Many error messages refer to the offending definition even though
they're preceded by an "in definition" line. Rephrase them.
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: fab12376d0234ce46517f88b9ecc9a6080522118
https://github.com/qemu/qemu/commit/fab12376d0234ce46517f88b9ecc9a6080522118
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/alternate-branch-if-invalid.err
M tests/qapi-schema/bad-if-empty-list.err
M tests/qapi-schema/bad-if-empty.err
M tests/qapi-schema/bad-if-list.err
M tests/qapi-schema/bad-if.err
M tests/qapi-schema/enum-if-invalid.err
M tests/qapi-schema/features-if-invalid.err
M tests/qapi-schema/struct-member-if-invalid.err
M tests/qapi-schema/union-branch-if-invalid.err
Log Message:
-----------
qapi: Improve reporting of invalid 'if' further
check_if()'s errors don't point to the offending part of the
expression. For instance:
tests/qapi-schema/alternate-branch-if-invalid.json:2: 'if' condition ' '
makes no sense
Other check_FOO() do, with the help of a @source argument. Make
check_if() do that, too. The example above improves to:
tests/qapi-schema/alternate-branch-if-invalid.json:2: 'if' condition ' ' of
'data' member 'branch' makes no sense
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Commit: 13b3997f148bc35d2050bc2fe4bb405791ece94f
https://github.com/qemu/qemu/commit/13b3997f148bc35d2050bc2fe4bb405791ece94f
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
Log Message:
-----------
qapi: Eliminate check_keys(), rename check_known_keys()
check_keys() has become a trivial wrapper for check_known_keys().
Eliminate it.
This makes its name available. Rename check_known_keys().
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: f63326985a23cc1bb6327a003050e6fdb52eb9cd
https://github.com/qemu/qemu/commit/f63326985a23cc1bb6327a003050e6fdb52eb9cd
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/doc-missing.err
Log Message:
-----------
qapi: Improve reporting of missing documentation comment
Have check_exprs() check this later, so the error message gains an "in
definition line". Tweak the error message.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 56d2df5e65d873ca0e9841f7bb7676cab759f8da
https://github.com/qemu/qemu/commit/56d2df5e65d873ca0e9841f7bb7676cab759f8da
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/redefined-command.err
M tests/qapi-schema/redefined-event.err
M tests/qapi-schema/redefined-type.err
Log Message:
-----------
qapi: Improve reporting of redefinition
Point to the previous definition, unless it's a built-in.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: c615550df306a7b16e75d21f65ee38898c756bac
https://github.com/qemu/qemu/commit/c615550df306a7b16e75d21f65ee38898c756bac
Author: Markus Armbruster <address@hidden>
Date: 2019-09-28 (Sat, 28 Sep 2019)
Changed paths:
M scripts/qapi/common.py
M tests/qapi-schema/include-no-file.err
Log Message:
-----------
qapi: Improve source file read error handling
qapi-gen.py crashes when it can't open the main schema file, and when
it can't read from any schema file. Lazy.
Change QAPISchema.__init__() to take a file name instead of a file
object. Move the open code from _include() to __init__(), so it's
used for the main schema file, too.
Move the read into the try for good measure, and rephrase the error
message.
Reporting open or read failure for the main schema file needs a
QAPISourceInfo representing "no source". Make QAPISourceInfo cope
with fname=None.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Commit: 2094695689f74ff6d6fb273ccecde45a1de88cc2
https://github.com/qemu/qemu/commit/2094695689f74ff6d6fb273ccecde45a1de88cc2
Author: Peter Maydell <address@hidden>
Date: 2019-10-01 (Tue, 01 Oct 2019)
Changed paths:
M qapi/qapi-schema.json
M qapi/qmp-dispatch.c
M scripts/qapi/common.py
M scripts/qapi/events.py
M tests/qapi-schema/allow-preconfig-test.err
M tests/qapi-schema/alternate-any.err
M tests/qapi-schema/alternate-array.err
M tests/qapi-schema/alternate-base.err
M tests/qapi-schema/alternate-branch-if-invalid.err
M tests/qapi-schema/alternate-clash.err
M tests/qapi-schema/alternate-conflict-bool-string.err
M tests/qapi-schema/alternate-conflict-dict.err
M tests/qapi-schema/alternate-conflict-enum-bool.err
M tests/qapi-schema/alternate-conflict-enum-int.err
M tests/qapi-schema/alternate-conflict-num-string.err
M tests/qapi-schema/alternate-conflict-string.err
M tests/qapi-schema/alternate-empty.err
M tests/qapi-schema/alternate-invalid-dict.err
M tests/qapi-schema/alternate-nested.err
M tests/qapi-schema/alternate-unknown.err
M tests/qapi-schema/args-alternate.err
M tests/qapi-schema/args-any.err
M tests/qapi-schema/args-array-empty.err
M tests/qapi-schema/args-array-unknown.err
M tests/qapi-schema/args-bad-boxed.err
M tests/qapi-schema/args-boxed-anon.err
M tests/qapi-schema/args-boxed-string.err
M tests/qapi-schema/args-int.err
M tests/qapi-schema/args-invalid.err
M tests/qapi-schema/args-member-array-bad.err
M tests/qapi-schema/args-member-case.err
M tests/qapi-schema/args-member-case.json
M tests/qapi-schema/args-member-unknown.err
M tests/qapi-schema/args-name-clash.err
M tests/qapi-schema/args-union.err
M tests/qapi-schema/args-unknown.err
M tests/qapi-schema/bad-base.err
M tests/qapi-schema/bad-data.err
M tests/qapi-schema/bad-ident.err
M tests/qapi-schema/bad-if-empty-list.err
M tests/qapi-schema/bad-if-empty.err
M tests/qapi-schema/bad-if-list.err
M tests/qapi-schema/bad-if.err
M tests/qapi-schema/bad-type-bool.err
M tests/qapi-schema/bad-type-dict.err
M tests/qapi-schema/bad-type-int.err
M tests/qapi-schema/base-cycle-direct.err
M tests/qapi-schema/base-cycle-indirect.err
M tests/qapi-schema/command-int.err
M tests/qapi-schema/doc-bad-alternate-member.err
M tests/qapi-schema/doc-bad-command-arg.err
M tests/qapi-schema/doc-bad-symbol.err
M tests/qapi-schema/doc-bad-union-member.err
M tests/qapi-schema/doc-before-include.err
M tests/qapi-schema/doc-before-pragma.err
M tests/qapi-schema/doc-duplicated-return.err
M tests/qapi-schema/doc-duplicated-since.err
M tests/qapi-schema/doc-empty-arg.err
M tests/qapi-schema/doc-empty-section.err
M tests/qapi-schema/doc-empty-symbol.err
M tests/qapi-schema/doc-invalid-end.err
M tests/qapi-schema/doc-invalid-end2.err
M tests/qapi-schema/doc-invalid-start.err
M tests/qapi-schema/doc-missing-colon.err
M tests/qapi-schema/doc-missing-expr.err
M tests/qapi-schema/doc-missing-space.err
M tests/qapi-schema/doc-missing.err
M tests/qapi-schema/doc-no-symbol.err
M tests/qapi-schema/double-type.err
M tests/qapi-schema/duplicate-key.err
M tests/qapi-schema/enum-bad-member.err
M tests/qapi-schema/enum-bad-name.err
M tests/qapi-schema/enum-bad-prefix.err
M tests/qapi-schema/enum-clash-member.err
M tests/qapi-schema/enum-dict-member-unknown.err
M tests/qapi-schema/enum-if-invalid.err
M tests/qapi-schema/enum-int-member.err
M tests/qapi-schema/enum-member-case.err
M tests/qapi-schema/enum-missing-data.err
M tests/qapi-schema/enum-wrong-data.err
M tests/qapi-schema/escape-outside-string.err
M tests/qapi-schema/event-boxed-empty.err
M tests/qapi-schema/event-member-invalid-dict.err
M tests/qapi-schema/event-nest-struct.err
M tests/qapi-schema/features-bad-type.err
M tests/qapi-schema/features-duplicate-name.err
M tests/qapi-schema/features-if-invalid.err
M tests/qapi-schema/features-missing-name.err
M tests/qapi-schema/features-name-bad-type.err
M tests/qapi-schema/features-no-list.err
M tests/qapi-schema/features-unknown-key.err
M tests/qapi-schema/flat-union-array-branch.err
M tests/qapi-schema/flat-union-bad-base.err
M tests/qapi-schema/flat-union-bad-discriminator.err
M tests/qapi-schema/flat-union-base-any.err
M tests/qapi-schema/flat-union-base-union.err
M tests/qapi-schema/flat-union-clash-member.err
M tests/qapi-schema/flat-union-discriminator-bad-name.err
M tests/qapi-schema/flat-union-discriminator-bad-name.json
M tests/qapi-schema/flat-union-empty.err
M tests/qapi-schema/flat-union-inline-invalid-dict.err
M tests/qapi-schema/flat-union-inline.err
M tests/qapi-schema/flat-union-int-branch.err
M tests/qapi-schema/flat-union-invalid-branch-key.err
M tests/qapi-schema/flat-union-invalid-discriminator.err
M tests/qapi-schema/flat-union-invalid-if-discriminator.err
M tests/qapi-schema/flat-union-no-base.err
M tests/qapi-schema/flat-union-optional-discriminator.err
M tests/qapi-schema/flat-union-optional-discriminator.json
M tests/qapi-schema/flat-union-string-discriminator.err
M tests/qapi-schema/funny-char.err
M tests/qapi-schema/funny-word.err
M tests/qapi-schema/ident-with-escape.err
M tests/qapi-schema/include-before-err.err
M tests/qapi-schema/include-cycle.err
M tests/qapi-schema/include-extra-junk.err
M tests/qapi-schema/include-nested-err.err
M tests/qapi-schema/include-no-file.err
M tests/qapi-schema/include-non-file.err
M tests/qapi-schema/include-self-cycle.err
M tests/qapi-schema/leading-comma-list.err
M tests/qapi-schema/leading-comma-object.err
M tests/qapi-schema/missing-colon.err
M tests/qapi-schema/missing-comma-list.err
M tests/qapi-schema/missing-comma-object.err
M tests/qapi-schema/missing-type.err
M tests/qapi-schema/nested-struct-data-invalid-dict.err
M tests/qapi-schema/nested-struct-data.err
M tests/qapi-schema/non-objects.err
M tests/qapi-schema/oob-test.err
M tests/qapi-schema/pragma-doc-required-crap.err
M tests/qapi-schema/pragma-extra-junk.err
M tests/qapi-schema/pragma-name-case-whitelist-crap.err
M tests/qapi-schema/pragma-non-dict.err
M tests/qapi-schema/pragma-returns-whitelist-crap.err
M tests/qapi-schema/pragma-unknown.err
M tests/qapi-schema/quoted-structural-chars.err
M tests/qapi-schema/redefined-builtin.err
M tests/qapi-schema/redefined-command.err
M tests/qapi-schema/redefined-event.err
M tests/qapi-schema/redefined-type.err
M tests/qapi-schema/reserved-command-q.err
M tests/qapi-schema/reserved-enum-q.err
M tests/qapi-schema/reserved-member-has.err
M tests/qapi-schema/reserved-member-q.err
M tests/qapi-schema/reserved-member-u.err
M tests/qapi-schema/reserved-member-underscore.err
M tests/qapi-schema/reserved-type-kind.err
M tests/qapi-schema/reserved-type-list.err
M tests/qapi-schema/returns-alternate.err
M tests/qapi-schema/returns-array-bad.err
M tests/qapi-schema/returns-dict.err
M tests/qapi-schema/returns-unknown.err
M tests/qapi-schema/returns-whitelist.err
M tests/qapi-schema/string-code-point-127.err
M tests/qapi-schema/string-code-point-31.err
M tests/qapi-schema/struct-base-clash-deep.err
M tests/qapi-schema/struct-base-clash.err
M tests/qapi-schema/struct-data-invalid.err
M tests/qapi-schema/struct-member-if-invalid.err
M tests/qapi-schema/struct-member-invalid-dict.err
M tests/qapi-schema/struct-member-invalid.err
M tests/qapi-schema/trailing-comma-list.err
M tests/qapi-schema/trailing-comma-object.err
M tests/qapi-schema/type-bypass-bad-gen.err
M tests/qapi-schema/unclosed-list.err
M tests/qapi-schema/unclosed-object.err
M tests/qapi-schema/unclosed-string.err
M tests/qapi-schema/union-base-empty.err
M tests/qapi-schema/union-base-no-discriminator.err
M tests/qapi-schema/union-branch-case.err
M tests/qapi-schema/union-branch-case.json
M tests/qapi-schema/union-branch-if-invalid.err
M tests/qapi-schema/union-branch-invalid-dict.err
M tests/qapi-schema/union-clash-branches.err
M tests/qapi-schema/union-empty.err
M tests/qapi-schema/union-invalid-base.err
M tests/qapi-schema/union-optional-branch.err
M tests/qapi-schema/union-unknown.err
M tests/qapi-schema/union-unknown.json
M tests/qapi-schema/unknown-escape.err
M tests/qapi-schema/unknown-expr-key.err
M tests/test-qga.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-09-28' into
staging
QAPI patches for 2019-09-28
# gpg: Signature made Sat 28 Sep 2019 16:18:13 BST
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "address@hidden"
# gpg: Good signature from "Markus Armbruster <address@hidden>" [full]
# gpg: aka "Markus Armbruster <address@hidden>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2019-09-28: (27 commits)
qapi: Improve source file read error handling
qapi: Improve reporting of redefinition
qapi: Improve reporting of missing documentation comment
qapi: Eliminate check_keys(), rename check_known_keys()
qapi: Improve reporting of invalid 'if' further
qapi: Avoid redundant definition references in error messages
qapi: Improve reporting of missing / unknown definition keys
qapi: Improve reporting of invalid flags
qapi: Improve reporting of invalid 'if' errors
qapi: Move context-free checking to the proper place
qapi: Move context-sensitive checking to the proper place
qapi: Inline check_name() into check_union()
qapi: Plumb info to the QAPISchemaMember
qapi: Make check_type()'s array case a bit more obvious
qapi: Move check for reserved names out of add_name()
qapi: Report invalid '*' prefix like any other invalid name
qapi: Use check_name_str() where it suffices
qapi: Improve reporting of invalid name errors
qapi: Reorder check_FOO() parameters for consistency
qapi: Improve reporting of member name clashes
...
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/95e9d74fe428...2094695689f7
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 2546be: qmp-dispatch: Use CommandNotFound error for disabl...,
Peter Maydell <=