]> git.ipfire.org Git - thirdparty/qemu.git/commit
qapi: Prefix frontend errors with an "in definition" line
authorMarkus Armbruster <armbru@redhat.com>
Fri, 27 Sep 2019 13:46:17 +0000 (15:46 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Sat, 28 Sep 2019 15:17:18 +0000 (17:17 +0200)
commit7be6c511943613c60b3e5b640e09bdc916be3b65
tree03764294007e38beb8f80df950e131b7eda50da5
parent19e950d9d47d3efe4c8d5c6c872a53889a54363c
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 <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-5-armbru@redhat.com>
97 files changed:
scripts/qapi/common.py
tests/qapi-schema/alternate-any.err
tests/qapi-schema/alternate-array.err
tests/qapi-schema/alternate-branch-if-invalid.err
tests/qapi-schema/alternate-clash.err
tests/qapi-schema/alternate-conflict-bool-string.err
tests/qapi-schema/alternate-conflict-dict.err
tests/qapi-schema/alternate-conflict-enum-bool.err
tests/qapi-schema/alternate-conflict-enum-int.err
tests/qapi-schema/alternate-conflict-num-string.err
tests/qapi-schema/alternate-conflict-string.err
tests/qapi-schema/alternate-empty.err
tests/qapi-schema/alternate-invalid-dict.err
tests/qapi-schema/alternate-nested.err
tests/qapi-schema/alternate-unknown.err
tests/qapi-schema/args-alternate.err
tests/qapi-schema/args-any.err
tests/qapi-schema/args-array-empty.err
tests/qapi-schema/args-array-unknown.err
tests/qapi-schema/args-boxed-anon.err
tests/qapi-schema/args-boxed-string.err
tests/qapi-schema/args-int.err
tests/qapi-schema/args-invalid.err
tests/qapi-schema/args-member-array-bad.err
tests/qapi-schema/args-member-case.err
tests/qapi-schema/args-member-unknown.err
tests/qapi-schema/args-name-clash.err
tests/qapi-schema/args-union.err
tests/qapi-schema/args-unknown.err
tests/qapi-schema/bad-base.err
tests/qapi-schema/bad-data.err
tests/qapi-schema/base-cycle-direct.err
tests/qapi-schema/base-cycle-indirect.err
tests/qapi-schema/doc-bad-symbol.err
tests/qapi-schema/enum-bad-member.err
tests/qapi-schema/enum-bad-name.err
tests/qapi-schema/enum-bad-prefix.err
tests/qapi-schema/enum-clash-member.err
tests/qapi-schema/enum-dict-member-unknown.err
tests/qapi-schema/enum-if-invalid.err
tests/qapi-schema/enum-member-case.err
tests/qapi-schema/enum-wrong-data.err
tests/qapi-schema/event-boxed-empty.err
tests/qapi-schema/event-member-invalid-dict.err
tests/qapi-schema/event-nest-struct.err
tests/qapi-schema/features-bad-type.err
tests/qapi-schema/features-duplicate-name.err
tests/qapi-schema/features-if-invalid.err
tests/qapi-schema/features-missing-name.err
tests/qapi-schema/features-name-bad-type.err
tests/qapi-schema/features-no-list.err
tests/qapi-schema/features-unknown-key.err
tests/qapi-schema/flat-union-array-branch.err
tests/qapi-schema/flat-union-bad-base.err
tests/qapi-schema/flat-union-bad-discriminator.err
tests/qapi-schema/flat-union-base-any.err
tests/qapi-schema/flat-union-base-union.err
tests/qapi-schema/flat-union-clash-member.err
tests/qapi-schema/flat-union-discriminator-bad-name.err
tests/qapi-schema/flat-union-empty.err
tests/qapi-schema/flat-union-inline-invalid-dict.err
tests/qapi-schema/flat-union-inline.err
tests/qapi-schema/flat-union-int-branch.err
tests/qapi-schema/flat-union-invalid-branch-key.err
tests/qapi-schema/flat-union-invalid-discriminator.err
tests/qapi-schema/flat-union-invalid-if-discriminator.err
tests/qapi-schema/flat-union-no-base.err
tests/qapi-schema/flat-union-optional-discriminator.err
tests/qapi-schema/flat-union-string-discriminator.err
tests/qapi-schema/nested-struct-data-invalid-dict.err
tests/qapi-schema/nested-struct-data.err
tests/qapi-schema/reserved-enum-q.err
tests/qapi-schema/reserved-member-has.err
tests/qapi-schema/reserved-member-q.err
tests/qapi-schema/reserved-member-u.err
tests/qapi-schema/reserved-member-underscore.err
tests/qapi-schema/returns-alternate.err
tests/qapi-schema/returns-array-bad.err
tests/qapi-schema/returns-dict.err
tests/qapi-schema/returns-unknown.err
tests/qapi-schema/returns-whitelist.err
tests/qapi-schema/struct-base-clash-deep.err
tests/qapi-schema/struct-base-clash.err
tests/qapi-schema/struct-data-invalid.err
tests/qapi-schema/struct-member-if-invalid.err
tests/qapi-schema/struct-member-invalid-dict.err
tests/qapi-schema/struct-member-invalid.err
tests/qapi-schema/union-base-empty.err
tests/qapi-schema/union-base-no-discriminator.err
tests/qapi-schema/union-branch-case.err
tests/qapi-schema/union-branch-if-invalid.err
tests/qapi-schema/union-branch-invalid-dict.err
tests/qapi-schema/union-clash-branches.err
tests/qapi-schema/union-empty.err
tests/qapi-schema/union-invalid-base.err
tests/qapi-schema/union-optional-branch.err
tests/qapi-schema/union-unknown.err