1
0
mirror of https://gitlab.com/qemu-project/qemu synced 2024-07-03 08:19:15 +00:00

tests/qapi-schema: Improve union discriminator coverage

A union's 'discriminator' must name one of the common members.
QAPISchemaVariants.check() looks it up by its c_name(), then checks
the name matches exactly (because c_name() is not injective).

Tests union-base-empty and union-invalid-discriminator both cover the
case where lookup fails.  Repurpose the latter to cover the case where
it succeeds and the name check fails.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20230316071325.492471-10-armbru@redhat.com
Reviewed-by: Eric Blake <eblake@redhat.com>
[Commit message typo fixed]
This commit is contained in:
Markus Armbruster 2023-03-16 08:13:20 +01:00
parent e2050ef633
commit 8fba2f737a
2 changed files with 3 additions and 3 deletions

View File

@ -1,2 +1,2 @@
union-invalid-discriminator.json: In union 'TestUnion':
union-invalid-discriminator.json:10: discriminator 'enum_wrong' is not a member of 'base'
union-invalid-discriminator.json:10: discriminator 'type_tag' is not a member of 'base'

View File

@ -8,7 +8,7 @@
'data': { 'integer': 'int' } }
{ 'union': 'TestUnion',
'base': { 'enum1': 'TestEnum' },
'discriminator': 'enum_wrong',
'base': { 'type-tag': 'TestEnum' },
'discriminator': 'type_tag',
'data': { 'value1': 'TestTypeA',
'value2': 'TestTypeB' } }