Revision tags: v9.2.0, v9.1.2, v9.1.1, v9.1.0, v8.0.0, v7.2.0, v7.0.0, v6.2.0, v6.1.0, v5.2.0, v5.0.0, v4.2.0 |
|
#
69717d0f |
| 23-Oct-2019 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-10-22-v3' into staging
QAPI patches for 2019-10-22
# gpg: Signature made Tue 22 Oct 2019 15:56:36 BST # gpg: using RS
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-10-22-v3' into staging
QAPI patches for 2019-10-22
# gpg: Signature made Tue 22 Oct 2019 15:56:36 BST # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2019-10-22-v3: qapi: Allow introspecting fix for savevm's cooperation with blockdev tests/qapi-schema: Cover feature documentation comments tests: qapi: Test 'features' of commands qapi: Add feature flags to commands tests/qapi-schema: Tidy up test output indentation qapi: Clear scripts/qapi/doc.py executable bits again qapi: Split up scripts/qapi/common.py qapi: Move gen_enum(), gen_enum_lookup() back to qapi/types.py qapi: Speed up frontend tests qapi: Eliminate accidental global frontend state qapi: Store pragma state in QAPISourceInfo, not global state qapi: Don't suppress doc generation without pragma doc-required
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
f01338cc |
| 18-Oct-2019 |
Markus Armbruster <armbru@redhat.com> |
qapi: Speed up frontend tests
"make check-qapi-schema" takes around 10s user + system time for me. With -j, it takes a bit over 3s real time. We have worse tests. It's still annoying when you work
qapi: Speed up frontend tests
"make check-qapi-schema" takes around 10s user + system time for me. With -j, it takes a bit over 3s real time. We have worse tests. It's still annoying when you work on the QAPI generator.
Some 1.4s user + system time is consumed by make figuring out what to do, measured by making a target that does nothing. There's nothing I can do about that right now. But let's see what we can do about the other 8s.
Almost 7s are spent running test-qapi.py for every test case, the rest normalizing and diffing test-qapi.py output. We have 190 test cases.
If I downgrade to python2, it's 4.5s, but python2 is a goner.
Hacking up test-qapi.py to exit(0) without doing anything makes it only marginally faster. The problem is Python startup overhead.
Our configure puts -B into $(PYTHON). Running without -B is faster: 4.4s.
We could improve the Makefile to run test cases only when the test case or the generator changed. But I'm after improvement in the case where the generator changed.
test-qapi.py is designed to be the simplest possible building block for a shell script to do the complete job (it's actually a Makefile, not a shell script; no real difference). Python is just not meant for that. It's for bigger blocks.
Move the post-processing and diffing into test-qapi.py, and make it capable of testing multiple schema files. Set executable bits while there.
Running it once per test case now takes slightly longer than 8s. But running it once for all of them takes under 0.2s.
Messing with the Makefile to run it only on the tests that need retesting is clearly not worth the bother.
Expected error output changes because the new normalization strips off $(SRCDIR)/tests/qapi-schema/ instead of just $(SRCDIR)/.
The .exit files go away, because there is no exit status to test anymore.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20191018074345.24034-5-armbru@redhat.com>
show more ...
|
#
20946956 |
| 01-Oct-2019 |
Peter Maydell <peter.maydell@linaro.org> |
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 k
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 "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [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 <peter.maydell@linaro.org>
show more ...
|
#
2ab218aa |
| 27-Sep-2019 |
Markus Armbruster <armbru@redhat.com> |
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
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 <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190927134639.4284-7-armbru@redhat.com>
show more ...
|
#
4142b011 |
| 25-Sep-2019 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-09-24' into staging
QAPI patches for 2019-09-24
# gpg: Signature made Tue 24 Sep 2019 13:10:36 BST # gpg: using RSA k
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-09-24' into staging
QAPI patches for 2019-09-24
# gpg: Signature made Tue 24 Sep 2019 13:10:36 BST # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "armbru@redhat.com" # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full] # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2019-09-24: (37 commits) qapi: Assert .visit() and .check_clash() run only after .check() qapi: Fix excessive QAPISchemaEntity.check() recursion qapi: Fix to .check() empty structs just once qapi: Delete useless check_exprs() code for simple union kind qapi: Clean up around check_known_keys() qapi: Simplify check_keys() qapi: Normalize 'if' in check_exprs(), like other sugar qapi: Fix missing 'if' checks in struct, union, alternate 'data' qapi: Reject blank 'if' conditions in addition to empty ones qapi: Fix broken discriminator error messages qapi: Remove null from schema language qapi: Improve reporting of lexical errors qapi: Use quotes more consistently in frontend error messages tests/qapi-schema: Demonstrate suboptimal lexical errors tests/qapi-schema: Demonstrate insufficient 'if' checking tests/qapi-schema: Demonstrate broken discriminator errors tests/qapi-schema: Demonstrate misleading optional tag error tests/qapi-schema: Delete two redundant tests tests/qapi-schema: Cover unknown pragma qapi: Tweak code to match docs/devel/qapi-code-gen.txt ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
#
9f5e6b08 |
| 14-Sep-2019 |
Markus Armbruster <armbru@redhat.com> |
qapi: Use quotes more consistently in frontend error messages
Consistently enclose error messages in double quotes. Use single quotes within, except for one case of "'".
Signed-off-by: Markus Armb
qapi: Use quotes more consistently in frontend error messages
Consistently enclose error messages in double quotes. Use single quotes within, except for one case of "'".
Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20190914153506.2151-8-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
show more ...
|
Revision tags: v4.0.0, v4.0.0-rc1, v4.0.0-rc0, v3.1.0, v3.1.0-rc5, v3.1.0-rc4, v3.1.0-rc3, v3.1.0-rc2, v3.1.0-rc1, v3.1.0-rc0, libfdt-20181002, ppc-for-3.1-20180925, ppc-for-3.1-20180907, ppc-for-3.1-20180821, v3.0.0, v3.0.0-rc4, v2.12.1, ppc-for-3.0-20180801, v3.0.0-rc3, v3.0.0-rc2, v3.0.0-rc1, ppc-for-3.0-20180716, v3.0.0-rc0, ppc-for-3.0-20180709, ppc-for-3.0-20180703, v2.11.2, ppc-for-3.0-20180622, ppc-for-3.0-20180618, ppc-for-3.0-20180612, ppc-for-2.13-20180504, ppc-for-2.13-20180427, v2.12.0, v2.12.0-rc4, v2.12.0-rc3, ppc-for-2.12-20180410, v2.12.0-rc2, v2.12.0-rc1, v2.12.0-rc0, ppc-for-2.12-20180319, ppc-for-2.12-20180315, ppc-for-2.12-20180306, ppc-for-2.12-20180302, ppc-for-2.12-20180216, v2.11.1, ppc-for-2.12-20180212, ppc-for-2.12-20180129, ppc-for-2.12-20180121, ppc-for-2.12-20180119, ppc-for-2.12-20180117, ppc-for-2.12-20180111, ppc-for-2.12-20180108, ppc-for-2.12-20180103, ppc-for-2.12-20171219, v2.10.2, ppc-for-2.12-20171215, v2.11.0, v2.11.0-rc5, v2.11.0-rc4, ppc-for-2.11-20171205, ppc-for-2.11-20171204, v2.11.0-rc3, ppc-for-2.11-20171127, ppc-for-2.11-20171122, v2.11.0-rc2, ppc-for-2.11-20171120, v2.11.0-rc1, ppc-for-2.11-20171114, ppc-for-2.11-20171108, v2.11.0-rc0, ppc-for-2.11-20171017, v2.10.1, ppc-for-2.11-20170927, ppc-for-2.11-20170915, ppc-for-2.11-20170908, v2.9.1, v2.10.0, v2.10.0-rc4, ppc-for-2.10-20170823, ppc-for-2.10-20170822, v2.10.0-rc3, ppc-for-2.10-20170809, v2.10.0-rc2, v2.10.0-rc1, ppc-for-2.10-20170731, v2.10.0-rc0, ppc-for-2.10-20170725, ppc-for-2.10-20170717, ppc-for-2.10-20170714, ppc-for-2.10-20170711, ppc-for-2.10-20170630, ppc-for-2.10-20170609, ppc-for-2.10-20170606, ppc-for-2.10-20170525, ppc-for-2.10-20170511, ppc-for-2.10-20170510, ppc-for-2.10-20170426, ppc-for-2.10-20170424, v2.8.1.1, v2.9.0, v2.9.0-rc5, v2.9.0-rc4, v2.9.0-rc3, ppc-for-2.9-20170403, v2.8.1, ppc-for-2.9-20170329, v2.9.0-rc2, ppc-for-2.9-20170323, v2.9.0-rc1, v2.9.0-rc0, ppc-for-2.9-20170314, ppc-for-2.9-20170306, submodule-update-20170303, ppc-for-2.9-20170303, ppc-for-2.9-20170301, ppc-for-2.9-20170222, isa-cleanup-20170206, ppc-for-2.9-20170202, ppc-for-2.9-20170112, master-20170112, v2.7.1, v2.8.0, v2.8.0-rc4, v2.8.0-rc3, ppc-for-2.8-20161201, v2.8.0-rc2, ppc-for-2.8-20161123, v2.8.0-rc1, isa-cleanup-20161118, qemu-kvm-1.5.3-127.el7, v2.8.0-rc0, ppc-for-2.8-20161115, qemu-kvm-1.5.3-126.el7_3.1, qemu-kvm-0.12.1.2-2.496.el6, ppc-for-2.8-20161028, qemu-kvm-0.12.1.2-2.495.el6, ppc-for-2.8-20161026, ppc-for-2.8-20161017, qemu-kvm-rhev-2.3.0-31.el7_2.23, ppc-for-2.7-20161013, qemu-kvm-1.5.3-105.el7_2.10, ppc-for-2.8-20161006, qemu-kvm-1.5.3-105.el7_2.9, v2.6.2, RHELSA-7.3_qemu-kvm-rhev, qemu-kvm-rhev-2.6.0-28.el7, RHEL-7.3_qemu-kvm-rhev, qemu-kvm-rhev-2.6.0-27.el7, ppc-for-2.8-20160923, qemu-kvm-0.12.1.2-2.494.el6, ppc-for-2.8-20160922, RHEL-7.3_qemu-kvm, qemu-kvm-1.5.3-126.el7, qemu-kvm-rhev-2.6.0-26.el7, vfio-fixes-20160915.0, qemu-kvm-1.5.3-125.el7, qemu-kvm-rhev-2.3.0-31.el7_2.22, qemu-kvm-rhev-2.6.0-25.el7, qemu-kvm-1.5.3-124.el7, qemu-kvm-rhev-2.6.0-24.el7, qemu-kvm-1.5.3-123.el7, qemu-kvm-0.12.1.2-2.415.el6_5.16, ppc-for-2.8-20160907, qemu-kvm-rhev-2.6.0-23.el7, ppc-for-2.8-20160906, v2.7.0, RHEL-7.3-qemu-guest-agent, qemu-guest-agent-2.5.0-3.el7, v2.7.0-rc5, qemu-kvm-1.5.3-122.el7, qemu-kvm-rhev-2.6.0-22.el7, v2.7.0-rc4, v2.6.1, v2.7.0-rc3, qemu-kvm-rhev-2.6.0-21.el7, qemu-kvm-1.5.3-105.el7_2.8, ppc-for-2.7-20160815, qemu-kvm-rhev-2.6.0-20.el7, ppc-for-2.7-20160810, v2.7.0-rc2, ppc-for-2.7-20160808, qemu-kvm-rhev-2.6.0-19.el7, ppc-for-2.7-20160803, qemu-kvm-rhev-2.6.0-18.el7, qemu-kvm-1.5.3-105.el7_2.7, qemu-kvm-rhev-2.3.0-31.el7_2.21, qemu-kvm-1.5.3-121.el7, v2.7.0-rc1, qemu-kvm-rhev-2.6.0-17.el7, qemu-kvm-1.5.3-120.el7, ppc-for-2.7-20160729, qemu-kvm-0.12.1.2-2.493.el6, qemu-kvm-1.5.3-105.el7_2.6, qemu-kvm-0.12.1.2-2.491.el6_8.3, qemu-kvm-rhev-2.3.0-31.el7_2.20, qemu-kvm-1.5.3-119.el7, qemu-kvm-rhev-2.6.0-16.el7, ppc-for-2.7-20160726, v2.7.0-rc0, qemu-kvm-rhev-2.6.0-15.el7, qemu-kvm-rhev-2.3.0-31.el7_2.19, qemu-kvm-rhev-2.6.0-14.el7, qemu-kvm-1.5.3-118.el7, vfio-update-20160718.0, ppc-for-2.7-20160718, qemu-kvm-1.5.3-117.el7, qemu-kvm-rhev-2.6.0-13.el7, qemu-kvm-rhev-2.6.0-12.el7, qemu-kvm-rhev-2.3.0-31.el7_2.18, ppc-for-2.7-20160705, qemu-kvm-rhev-2.6.0-11.el7, qemu-kvm-1.5.3-105.el7_2.5, ppc-for-2.7-20160701, vfio-update-20160630.0, qemu-kvm-0.12.1.2-2.492.el6, qemu-kvm-rhev-2.6.0-10.el7, qemu-kvm-rhev-2.3.0-31.el7_2.17, qemu-kvm-1.5.3-116.el7, ppc-for-2.7-20160627, qemu-kvm-rhev-2.6.0-9.el7, ppc-for-2.7-20160623, qemu-kvm-0.12.1.2-2.491.el6_8.2, qemu-kvm-rhev-2.6.0-8.el7, qemu-kvm-1.5.3-115.el7, ppc-for-2.7-20160617, qemu-kvm-rhev-2.3.0-31.el7_2.16, qemu-kvm-rhev-2.6.0-7.el7, qemu-kvm-rhev-2.6.0-6.el7, qemu-kvm-1.5.3-114.el7, qemu-guest-agent-2.5.0-2.el7, ppc-for-2.7-20160614, ppc-for-2.7-20160607, qemu-kvm-rhev-2.3.0-31.el7_2.15, qemu-kvm-rhev-2.6.0-5.el7, ppc-for-2.7-20160531, qemu-kvm-1.5.3-113.el7, ppc-for-2.7-20160527, vfio-update-20160526.1, maintainers-for-peter, qemu-kvm-rhev-2.6.0-4.el7, qemu-kvm-rhev-2.6.0-3.el7, qemu-kvm-rhev-2.1.2-23.el7_1.12, qemu-kvm-rhev-2.6.0-2.el7, qemu-kvm-rhev-2.3.0-31.el7_2.14, qemu-kvm-1.5.3-112.el7, qemu-kvm-rhev-2.6.0-1.el7, v2.6.0, v2.5.1.1, v2.6.0-rc5, qemu-kvm-1.5.3-111.el7, qemu-kvm-1.5.3-110.el7, qemu-kvm-0.12.1.2-2.479.el6_7.5, qemu-kvm-0.12.1.2-2.491.el6_8.1, qemu-kvm-rhev-2.3.0-31.el7_2.13, v2.6.0-rc4, ppc-for-2.6-20160426, ppc-for-2.6-20160423, v2.6.0-rc3, ppc-for-2.6-20160419, ppc-for-2.6-20160418, v2.6.0-rc2, qemu-kvm-rhev-2.3.0-31.el7_2.12, ppc-for-2.6-20160408, qemu-kvm-rhev-2.3.0-31.el7_2.11, v2.6.0-rc1, ppc-for-2.6-20160405, openbmc-20160404-1, qemu-kvm-rhev-2.5.0-4.el7, v2.6.0-rc0, qemu-kvm-0.12.1.2-2.491.el6, v2.5.1, vfio-update-20160328.0, ppc-for-2.6-20160324, qemu-kvm-rhev-2.5.0-3.el7, vfio-ddw-20160322, machine-pull-request, ppc-for-2.6-20160316, qemu-kvm-rhev-2.3.0-31.el7_2.10, qemu-kvm-1.5.3-109.el7, qemu-kvm-rhev-2.3.0-31.el7_2.9, vfio-update-20160310.2, vfio-update-20160311.0, qemu-kvm-rhev-2.5.0-2.el7, qemu-kvm-0.12.1.2-2.490.el6, ppc-for-2.6-20160229, ppc-for-2.6-20160225, qemu-kvm-rhev-2.3.0-31.el7_2.8, qemu-slof-20160223, vfio-update-20160219.1, qemu-kvm-0.12.1.2-2.489.el6, ppc-for-2.6-20160218, qemu-kvm-1.5.3-108.el7, ppc-for-2.6-20160201, qemu-kvm-0.12.1.2-2.487.el6, ppc-for-2.6-20160129, qemu-kvm-0.12.1.2-2.479.el6_7.4, qemu-kvm-0.12.1.2-2.486.el6, ppc-for-2.6-20160125, qemu-kvm-0.12.1.2-2.485.el6, qemu-kvm-rhev-2.3.0-31.el7_2.7, qemu-kvm-1.5.3-105.el7_2.3, qemu-kvm-1.5.3-105.el7_2.2, qemu-kvm-1.5.3-107.el7, vfio-update-20160119.0, qemu-kvm-0.12.1.2-2.484.el6, qom-devices-for-peter, qemu-kvm-rhev-2.3.0-31.el7_2.6, qemu-kvm-1.5.3-106.el7, qemu-guest-agent-2.5.0-1.el7, qemu-kvm-rhev-2.5.0-1.el7, ppc-for-2.6-20160111, qemu-kvm-0.12.1.2-2.483.el6, x86-next-pull-request, qemu-kvm-0.12.1.2-2.479.el6_7.3, v2.5.0, qemu-kvm-0.12.1.2-2.482.el6, v2.5.0-rc4, qemu-kvm-rhev-2.3.0-31.el7_2.5, v2.5.0-rc3, ppc-for-2.5-20151204, qemu-kvm-rhev-2.3.0-31.el7_2.4, qemu-kvm-rhev-2.3.0-31.el7_2_2.4, ppc-for-2.5-20151130, v2.5.0-rc2, v2.5.0-rc1, qemu-kvm-rhev-2.3.0-31.el7_2.3, qemu-kvm-rhev-2.3.0-31.el7_2.2, qemu-kvm-1.5.3-105.el7_2.1, qemu-kvm-rhev-2.1.2-23.el7_1.11, v2.5.0-rc0, ppc-next-20151112, ppc-next-20151111, vfio-update-20151110.0, qemu-kvm-rhev-2.3.0-31.el7_2.1, v2.4.1, ppc-next-20151023, qom-cpu-for-peter, qemu-kvm-1.5.3-86.el7_1.8, RHEL-7.2_qemu-kvm, qemu-kvm-1.5.3-105.el7, RHEL-7.2_qemu-kvm-rhev, qemu-kvm-rhev-2.3.0-31.el7 |
|
#
c49d3411 |
| 13-Oct-2015 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2015-10-12' into staging
QAPI patches
# gpg: Signature made Mon 12 Oct 2015 18:56:35 BST using RSA key ID EB918653 # gpg: Good signature
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2015-10-12' into staging
QAPI patches
# gpg: Signature made Mon 12 Oct 2015 18:56:35 BST using RSA key ID EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
* remotes/armbru/tags/pull-qapi-2015-10-12: qapi: Simplify gen_visit_fields() error handling qapi: Share gen_visit_fields() qapi: Share gen_err_check() qapi: Consistent generated code: minimize push_indent() usage qapi: Consistent generated code: prefer common indentation qapi: Consistent generated code: prefer common labels qapi: Consistent generated code: prefer visitor 'v' qapi: Consistent generated code: prefer error 'err' qapi: Reuse code for flat union base validation qapi: Test use of 'number' within alternates qapi: Add tests for empty unions qapi: Avoid assertion failure on union 'type' collision qapi: Test for various name collisions qapi: Clean up qapi.py per pep8 qapi: Invoke exception superclass initializer qapi: Improve 'include' error message qapi: Sort qapi-schema tests MAINTAINERS: Specify QAPI include and test files MAINTAINERS: Specify QObject include and test files docs: Move files from docs/qmp/ to docs/
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: qemu-kvm-rhev-2.3.0-30.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.10, qemu-kvm-1.5.3-86.el7_1.7, ppc-next-20151009, qemu-kvm-rhev-2.3.0-29.el7, vfio-update-20151005.0, vfio-update-20151007.0, qemu-kvm-rhev-2.3.0-28.el7, qemu-kvm-rhev-2.3.0-27.el7 |
|
#
d220fbcd |
| 29-Sep-2015 |
Eric Blake <eblake@redhat.com> |
qapi: Test for various name collisions
Expose some weaknesses in the generator: we don't always forbid the generation of structs that contain multiple members that map to the same C or QMP name. Th
qapi: Test for various name collisions
Expose some weaknesses in the generator: we don't always forbid the generation of structs that contain multiple members that map to the same C or QMP name. This has already been marked FIXME in qapi.py in commit d90675f, but having more tests will make sure future patches produce desired behavior; and updating existing patches to better document things doesn't hurt, either. Some of these collisions are already caught in the old-style parser checks, but ultimately we want all collisions to be caught in the new-style QAPISchema*.check() methods.
This patch focuses on C struct members, and does not consider collisions between commands and events (affecting C function names), or even collisions between generated C type names with user type names (for things like automatic FOOList struct representing array types or FOOKind for an implicit enum).
There are two types of struct collisions we want to catch: 1) Collision between two keys in a JSON object. qapi.py prevents that within a single struct (see test duplicate-key), but it is possible to have collisions between a type's members and its base type's members (existing tests struct-base-clash, struct-base-clash-deep), and its flat union variant members (renamed test flat-union-clash-member). 2) Collision between two members of the C struct that is generated for a given QAPI type: a) Multiple QAPI names map to the same C name (new test args-name-clash) b) A QAPI name maps to a C name that is used for another purpose (new tests flat-union-clash-branch, struct-base-clash-base, union-clash-data). We already fixed some such cases in commit 0f61af3e and 1e6c1616, but more remain. c) Two C names generated for other purposes clash (updated test alternate-clash, new test union-clash-branches, union-clash-type, flat-union-clash-type)
Ultimately, if we need to have a flat union where a tag value clashes with a base member name, we could change the generator to name the union (using 'foo.u.value' rather than 'foo.value') or otherwise munge the C name corresponding to tag values. But unless such a need arises, it will probably be easier to just forbid these collisions.
Some of these negative tests will be deleted later, and positive tests added to qapi-schema-test.json in their place, when the generator code is reworked to avoid particular code generation collisions in class 2).
[Note that viewing this patch with git rename detection enabled may see some confusion due to renaming some tests while adding others, but where the content is similar enough that git picks the wrong pre- and post-patch files to associate]
Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1443565276-4535-6-git-send-email-eblake@redhat.com> [Improve commit message and comments a bit, drop an unrelated test] Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
Revision tags: qemu-kvm-0.12.1.2-2.479.el6_7.2, qemu-kvm-0.12.1.2-2.481.el6, qemu-kvm-rhev-2.3.0-26.el7, vfio-update-20150925.0, vfio-update-20150923.0, qemu-kvm-rhev-2.3.0-25.el7, qemu-kvm-1.5.3-104.el7, spapr-next-20150923, v2.4.0.1, spapr-next-20150921, qemu-kvm-rhev-2.3.0-24.el7, spapr-next-20150916, qemu-kvm-rhev-2.3.0-23.el7, RHEL-7.2_qemu-guest-agent, qemu-guest-agent-2.3.0-4.el7, qemu-kvm-1.5.3-103.el7, qemu-kvm-rhev-2.3.0-22.el7, qemu-kvm-1.5.3-102.el7, spapr-next-20150903, qemu-kvm-rhev-2.1.2-23.el7_1.9, qemu-kvm-rhev-2.3.0-21.el7, qemu-kvm-rhev-2.3.0-20.el7, qemu-guest-agent-2.3.0-3.el7, qemu-kvm-rhev-2.3.0-19.el7, qemu-kvm-1.5.3-101.el7, qemu-kvm-rhev-2.3.0-18.el7, qemu-kvm-rhev-2.3.0-17.el7, v2.4.0, v2.3.1, qemu-kvm-1.5.3-100.el7, qemu-kvm-rhev-2.3.0-16.el7, qemu-kvm-0.12.1.2-2.479.el6_7.1, qemu-kvm-0.12.1.2-2.480.el6, qemu-kvm-rhev-2.1.2-23.el7_1.8, qemu-kvm-1.5.3-86.el7_1.6, qemu-kvm-1.5.3-99.el7, v2.4.0-rc4, qemu-kvm-rhev-2.3.0-15.el7, qemu-kvm-rhev-2.1.2-23.el7_1_1.7, qemu-kvm-rhev-2.3.0-14.el7, v2.4.0-rc3, qemu-kvm-1.5.3-98.el7, qemu-kvm-rhev-2.3.0-13.el7, vfio-fixes-20150723.0, v2.4.0-rc2, qemu-kvm-1.5.3-86.el7_1.5, qemu-kvm-rhev-2.1.2-23.el7_1.6, qemu-kvm-rhev-2.1.2-23.el7_1.5, qemu-kvm-rhev-2.3.0-12.el7, qemu-kvm-1.5.3-86.el7_1.4, qemu-kvm-1.5.3-97.el7, qemu-kvm-rhev-2.3.0-11.el7, qemu-kvm-1.5.3-96.el7, v2.4.0-rc1, qemu-kvm-rhev-2.3.0-10.el7, qemu-guest-agent-2.3.0-2.el7, v2.4.0-rc0, qemu-kvm-rhev-2.3.0-9.el7, qemu-kvm-rhev-2.3.0-8.el7, qemu-kvm-1.5.3-95.el7, vfio-update-20150706.0, qemu-kvm-rhev-2.3.0-7.el7, spapr-next-20150702, qemu-kvm-rhev-2.3.0-6.el7, qemu-kvm-1.5.3-94.el7, for_autotest, for_autotest_next, for_upstream, qemu-kvm-rhev-2.1.2-23.el7_1.4, qemu-kvm-rhev-2.1.2-23.el7_1_1.3, qemu-kvm-rhev-2.3.0-5.el7, qemu-kvm-1.5.3-86.el7_1.3, qemu-kvm-1.5.3-93.el7, RHEL-6.7, qemu-kvm-0.12.1.2-2.479.el6, qemu-kvm-rhev-2.3.0-4.el7, qemu-kvm-rhev-2.3.0-3.el7, qemu-kvm-1.5.3-92.el7, qemu-kvm-1.5.3-91.el7, vfio-update-20150609.0, vfio-update-20150608.0, qemu-kvm-1.5.3-90.el7, qemu-kvm-0.12.1.2-2.478.el6, x86-pull-request, qemu-kvm-0.12.1.2-2.448.el6_6.4, qemu-kvm-0.12.1.2-2.477.el6, qemu-kvm-rhev-2.3.0-2.el7, qemu-kvm-1.5.3-89.el7, qemu-kvm-0.12.1.2-2.476.el6, spapr-dev-staging, qemu-kvm-0.12.1.2-2.415.el6_5.15, signed-s390-for-upstream-for, qemu-kvm-1.5.3-86.el7_1.2, qemu-kvm-rhev-2.1.2-23.el7_1.3, qemu-kvm-rhev-0.12.1.2-2.448.el6_6.3, qemu-kvm-0.12.1.2-2.475.el6, qemu-kvm-0.12.1.2-2.474.el6, qemu-kvm-1.5.3-88.el7, qemu-kvm-0.12.1.2-2.473.el6, spapr-next-20150501, qemu-kvm-0.12.1.2-2.472.el6, qemu-kvm-0.12.1.2-2.471.el6, vfio-update-20150428.0, qemu-guest-agent-2.3.0-1.el7, qemu-kvm-rhev-2.3.0-1.el7, numa-pull-request, qemu-kvm-0.12.1.2-2.470.el6, qemu-kvm-0.12.1.2-2.469.el6, qemu-2.3.0, v2.3.0, qemu-kvm-0.12.1.2-2.468.el6, qemu-kvm-0.12.1.2-2.467.el6, qemu-kvm-rhev-2.2.0-9.el7, qemu-kvm-rhev-2.1.2-23.el7_1.2, qemu-kvm-rhev-2.1.2-23.el7_1_1.2, qemu-2.3.0-rc4, v2.3.0-rc4, qemu-kvm-0.12.1.2-2.466.el6, v2.3.0-rc3, qemu-kvm-0.12.1.2-2.465.el6, qemu-kvm-0.12.1.2-2.448.el6_6.2, qemu-kvm-0.12.1.2-2.464.el6, qemu-kvm-0.12.1.2-2.463.el6, qemu-2.3.0-rc2, v2.3.0-rc2, qtest-for-2.3, qemu-kvm-0.12.1.2-2.448.el6_6.1, qemu-kvm-0.12.1.2-2.462.el6, qemu-kvm-0.12.1.2-2.460.el6, v2.3.0-rc1, qemu-kvm-0.12.1.2-2.459.el6, work/numa-verify-cpus-pull-request, qemu-kvm-rhev-2.2.0-8.el7, qemu-kvm-1.5.3-87.el7, qemu-2.3.0-rc0, v2.3.0-rc0, qemu-kvm-0.12.1.2-2.458.el6, v2.2.1, qemu-kvm-rhev-2.2.0-7.el7, qemu-kvm-0.12.1.2-2.457.el6, qemu-kvm-1.5.3-86.el7_1.1, qemu-kvm-0.12.1.2-2.456.el6, qemu-kvm-0.12.1.2-2.455.el6, vfio-update-20150302.0, qemu-kvm-rhev-2.2.0-6.el7, for_upstream_rebased, qemu-kvm-0.12.1.2-2.454.el6, numa-next-pull-request, qemu-kvm-rhev-2.1.2-23.el7_1.1, qemu-kvm-1.5.3-60.el7_0.12, qemu-kvm-0.12.1.2-2.453.el6, qga-pull-2015-02-16-v2-tag, qemu-kvm-rhev-2.2.0-5.el7, vfio-update-20150210.0, vfio-update-20150209.0, qemu-kvm-rhev-2.2.0-4.el7, vfio-update-20150204.0, qemu-kvm-0.12.1.2-2.452.el6, RHEL-7.1_qemu-kvm-rhev, qemu-kvm-rhev-2.1.2-23.el7, qemu-kvm-rhev-2.1.2-22.el7, RHEL-7.1_qemu-kvm, qemu-kvm-1.5.3-86.el7, qemu-kvm-rhev-2.1.2-21.el7, qemu-kvm-rhev-2.2.0-3.el7, v2.1.3, qemu-kvm-rhev-2.1.2-20.el7, qemu-kvm-0.12.1.2-2.451.el6, qemu-kvm-rhev-2.2.0-2.el7, qemu-kvm-rhev-2.1.2-19.el7, qemu-kvm-0.12.1.2-2.450.el6, vfio-update-20150109.0, qemu-kvm-rhev-2.1.2-18.el7, qemu-kvm-1.5.3-85.el7, vfio-update-20141222.0, qemu-kvm-0.12.1.2-2.449.el6, qemu-kvm-rhev-2.1.2-17.el7, qemu-kvm-1.5.3-84.el7, qemu-2.2.0, v2.2.0, qemu-kvm-rhev-2.1.2-16.el7, v2.2.0-rc5, qemu-kvm-rhev-2.1.2-15.el7, qemu-2.2.0-rc4, v2.2.0-rc4, qemu-kvm-rhev-2.1.2-14.el7, qemu-kvm-1.5.3-83.el7, v2.2.0-rc3, qemu-kvm-rhev-2.1.2-13.el7, qemu-kvm-1.5.3-82.el7, qemu-kvm-1.5.3-60.el7_0.11, qemu-kvm-rhev-2.1.2-12.el7, qemu-kvm-1.5.3-81.el7, qemu-kvm-rhev-2.1.2-11.el7, qemu-kvm-1.5.3-80.el7, qemu-kvm-rhev-2.1.2-10.el7, qemu-kvm-rhev-2.1.2-9.el7, v2.2.0-rc2, qemu-kvm-rhev-2.1.2-8.el7, qemu-kvm-1.5.3-79.el7, v2.2.0-rc1, qemu-kvm-1.5.3-78.el7, qemu-kvm-rhev-2.1.2-7.el7, v2.2.0-rc0, qemu-kvm-rhev-2.1.2-6.el7, qemu-kvm-rhev-2.1.2-5.el7, qemu-kvm-1.5.3-77.el7, qga-pull-2014-10-22-tag, qemu-kvm-1.5.3-76.el7, RHEL-7.1_qemu-guest-agent, qemu-guest-agent-2.1.0-4.el7, qemu-kvm-rhev-2.1.2-4.el7, qemu-kvm-rhev-2.1.2-3.el7, qemu-kvm-rhev-2.1.2-2.el7, qemu-kvm-1.5.3-75.el7, for-upstream, qemu-kvm-1.5.3-60.el7_0.10, qemu-kvm-1.5.3-74.el7, qemu-kvm-0.12.1.2-2.448.el6, qemu-kvm-2.1.2-1.el7, qemu-2.1.2, v2.1.2, qemu-kvm-rhev-2.1.0-5.el7, qemu-kvm-0.12.1.2-2.447.el6, qemu-kvm-1.5.3-60.el7_0.9, qemu-kvm-1.5.3-73.el7, vfio-pci-for-qemu-20140923.0, qemu-kvm-1.5.3-60.el7_0.8, qemu-kvm-1.5.3-72.el7, qemu-kvm-1.5.3-71.el7, vp-2.1.0-v1, vp-2.1.0-v2, vp-2.1.0-v3, qemu-kvm-rhev-2.1.0-4.el7, qemu-kvm-0.12.1.2-2.446.el6, qemu-kvm-1.5.3-70.el7, qemu-2.1.1, v2.1.1, RHEL-6.6, qemu-kvm-0.12.1.2-2.445.el6, signed-ppc-for-upstream, qemu-kvm-0.12.1.2-2.444.el6-v2, qemu-kvm-0.12.1.2-2.444.el6, qemu-kvm-0.12.1.2-2.443.el6, qemu-kvm-0.12.1.2-2.442.el6, qemu-guest-agent-2.1.0-3.el7, qemu-kvm-rhev-2.1.0-3.el7, qemu-kvm-1.5.3-60.el7_0.7, qemu-kvm-1.5.3-69.el7, qemu-kvm-0.12.1.2-2.441.el6, vfio-pci-for-qemu-20140825.0, qemu-kvm-0.12.1.2-2.440.el6, qemu-kvm-0.12.1.2-2.439.el6, v2.0.2, qemu-kvm-rhev-2.1.0-2.el7, v2.0.1, qemu-kvm-1.5.3-60.el7_0.6, qemu-kvm-1.5.3-68.el7, qemu-guest-agent-2.1.0-2.el7, qemu-kvm-0.12.1.2-2.438.el6, qemu-kvm-0.12.1.2-2.437.el6, qemu-kvm-1.5.3-67.el7, qemu-kvm-0.12.1.2-2.436.el6, qemu-kvm-0.12.1.2-2.415.el6_5.14, vfio-pci-for-qemu-20140805.0, qemu-kvm-0.12.1.2-2.435.el6, qemu-kvm-0.12.1.2-2.415.el6_5.13, qemu-kvm-rhev-2.1.0-1.el7, qemu-2.1.0, v2.1.0, qemu-kvm-0.12.1.2-2.434.el6, qemu-kvm-0.12.1.2-2.433.el6, qemu-2.1.0-rc5, v2.1.0-rc5, qemu-kvm-0.12.1.2-2.432.el6, v2.1.0-rc4, qemu-kvm-0.12.1.2-2.431.el6, qemu-2.1.0-rc3, v2.1.0-rc3, v1.7.2, qom-devices-for-2.1, qemu-2.1.0-rc2, v2.1.0-rc2, qemu-kvm-1.5.3-66.el7, qemu-kvm-rhev-2.0.0-3.el7ev, qemu-kvm-0.12.1.2-2.430.el6, qemu-2.1.0-rc1, v2.1.0-rc1, qemu-kvm-0.12.1.2-2.415.el6_5.12, prep-for-2.1, qemu-kvm-0.12.1.2-2.429.el6, qemu-kvm-1.5.3-60.el7_0.5, qemu-kvm-1.5.3-65.el7, qemu-2.1.0-rc0, v2.1.0-rc0, vfio-pci-for-qemu-20140630.0, qom-cpu-for-2.1, qemu-kvm-1.5.3-60.el7_0.4, qemu-kvm-1.5.3-64.el7, qemu-kvm-1.5.3-60.el7_0.3, qemu-kvm-0.12.1.2-2.415.el6_5.11, qemu-kvm-1.5.3-63.el7, qemu-kvm-0.12.1.2-2.428.el6, qemu-kvm-rhev-2.0.0-2.el7ev, vfio-pci-for-qemu-20140602.0, qemu-kvm-0.12.1.2-2.415.el6_5.10, qemu-kvm-0.12.1.2-2.427.el6, qemu-kvm-0.12.1.2-2.426.el6 |
|
#
06b4f00d |
| 09-May-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: (38 commits) Revert "qapi: Clean up superfluous null check in qapi_dealloc_type_str()"
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: (38 commits) Revert "qapi: Clean up superfluous null check in qapi_dealloc_type_str()" qapi: Document optional arguments' backwards compatibility qmp: use valid JSON in transaction example qmp: Don't use error_is_set() to suppress additional errors dump: Drop pointless error_is_set(), DumpState member errp qemu-option: Clean up fragile use of error_is_set() qga: Drop superfluous error_is_set() qga: Clean up fragile use of error_is_set() qapi: Clean up fragile use of error_is_set() tests/qapi-schema: Drop superfluous error_is_set() qapi: Drop redundant, unclean error_is_set() hmp: Guard against misuse of hmp_handle_error() qga: Use return values instead of error_is_set(errp) error: Consistently name Error ** objects errp, and not err qmp: Consistently name Error ** objects errp, and not err qga: Consistently name Error ** objects errp, and not err qmp hmp: Consistently name Error * objects err, and not errp pci-assign: assigned_initfn(): set monitor error in common error handler pci-assign: propagate errors from assign_intx() pci-assign: propagate errors from assign_device() ...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: qemu-kvm-1.5.3-60.el7_0.2, qemu-kvm-1.5.3-62.el7 |
|
#
33aaad52 |
| 02-May-2014 |
Lluís Vilanova <vilanova@ac.upc.edu> |
qapi: Use an explicit input file
Use an explicit input file on the command-line instead of reading from standard input.
It also outputs the proper file name when there's an error.
Signed-off-by: L
qapi: Use an explicit input file
Use an explicit input file on the command-line instead of reading from standard input.
It also outputs the proper file name when there's an error.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
show more ...
|
Revision tags: qemu-kvm-1.5.3-61.el7, qemu-kvm-0.12.1.2-2.415.el6_5.9, qemu-kvm-0.12.1.2-2.415.el6_5.8, qemu-kvm-0.12.1.2-2.425.el6, qemu-2.0.0, v2.0.0, v2.0.0-rc3, qemu-kvm-0.12.1.2-2.424.el6, qemu-2.0.0-rc2, v2.0.0-rc2, qom-devices-for-2.0, qemu-2.0.0-rc1, v2.0.0-rc1, RHEL-7.0, qemu-kvm-1.5.3-60.el7, qom-cpu-for-2.0, ppc-for-2.0, qemu-kvm-0.12.1.2-2.415.el6_5.7, qemu-kvm-0.12.1.2-2.423.el6, qemu-kvm-1.5.3-59.el7, qemu-kvm-1.5.3-58.el7, vfio-pci-for-qemu-20140325.0, qemu-kvm-1.5.3-57.el7, qemu-kvm-1.5.3-56.el7, prep-for-2.0, qemu-kvm-1.5.3-55.el7, qemu-kvm-1.5.3-54.el7, qemu-2.0.0-rc0, v2.0.0-rc0, prep-for-upstream |
|
#
613c12ec |
| 12-Mar-2014 |
Peter Maydell <peter.maydell@linaro.org> |
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: tests: test-qmp-commands: Fix double free qapi script: do not add "_" for every capit
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
* remotes/qmp-unstable/queue/qmp: tests: test-qmp-commands: Fix double free qapi script: do not add "_" for every capitalized char in enum qapi script: do not allow string discriminator qapi: convert BlockdevOptions to use enum discriminator qapi script: support enum type as discriminator in union qapi script: use same function to generate enum string qapi script: code move for generate_enum_name() qapi script: check correctness of union qapi script: remember line number in schema parsing qapi script: add check for duplicated key qapi script: remember explicitly defined enum values
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
show more ...
|
Revision tags: qemu-kvm-1.5.3-53.el7, qemu-kvm-1.5.3-52.el7, qemu-kvm-1.5.3-51.el7 |
|
#
4b35991a |
| 04-Mar-2014 |
Wenchao Xia <wenchaoqemu@gmail.com> |
qapi script: add check for duplicated key
It is bad that same key was specified twice, especially when a union has two branches with same condition. This patch can prevent it.
Signed-off-by: Wencha
qapi script: add check for duplicated key
It is bad that same key was specified twice, especially when a union has two branches with same condition. This patch can prevent it.
Signed-off-by: Wenchao Xia <wenchaoqemu@gmail.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
show more ...
|