mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
qapi: Use generated TestStruct machinery in tests
Commitd88f5fd
and friends first introduced the various test-qmp-* tests in 2011, with duplicated hand-rolled TestStruct machinery, to make sure the qapi visitor interface was tested. Later, commit4f193e3
in 2013 added a .json file for further testing use by the files, but without consolidating any of the existing hand-rolled visitors. And with four copies, subtle differences have crept in, between the tests themselves (mainly whitespace differences, but also a question of whether to use NULL or "TestStruct" when calling visit_start_struct()) and from what the generator produces (the hand-rolled versions did not cater to partially-allocated objects, because they did not have a deallocation usage). Of course, just because the visitor interface is tested does not mean it is a sane interface; and future patches will be changing some of the visitor contracts. Rather than having to duplicate the cleanup work in each copy of the TestStruct visitor, and keep each hand-rolled copy in sync with what the generator supplies, we might as well just test what the generator should give us in the first place. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1446791754-23823-2-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
9d5c1dc117
commit
748053c97b
6 changed files with 10 additions and 162 deletions
|
@ -92,6 +92,7 @@ object EventStructOne
|
|||
object ForceArrays
|
||||
member unused1: UserDefOneList optional=False
|
||||
member unused2: UserDefTwoList optional=False
|
||||
member unused3: TestStructList optional=False
|
||||
enum MyEnum []
|
||||
object NestedEnumsOne
|
||||
member enum1: EnumOne optional=False
|
||||
|
@ -100,6 +101,10 @@ object NestedEnumsOne
|
|||
member enum4: EnumOne optional=True
|
||||
enum QEnumTwo ['value1', 'value2']
|
||||
prefix QENUM_TWO
|
||||
object TestStruct
|
||||
member integer: int optional=False
|
||||
member boolean: bool optional=False
|
||||
member string: str optional=False
|
||||
object UserDefA
|
||||
member boolean: bool optional=False
|
||||
member a_b: int optional=True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue