• E
    qapi: Add some union tests · 3d0c4829
    Eric Blake 提交于
    Demonstrate that the qapi generator doesn't deal well with unions
    that aren't up to par. Later patches will update the expected
    reseults as the generator is made stricter.  A few tests work
    as planned, but most show poor or missing error messages.
    
    Of particular note, qapi-code-gen.txt documents 'base' only for
    flat unions, but the tests here demonstrate that we currently allow
    a 'base' to a simple union, although it is exercised only in the
    testsuite.  Later patches will remove this undocumented feature, to
    give us more flexibility in adding other future extensions to union
    types.  For example, one possible extension is the idea of a
    type-safe simple enum, where added fields tie the discriminator to
    a user-defined enum type rather than creating an implicit enum from
    the names in 'data'.  But adding such safety on top of a simple
    enum with a base type could look ambiguous with a flat enum;
    besides, the documentation also mentions how any simple union can
    be represented by an equivalent flat union.  So it will be simpler
    to just outlaw support for something we aren't using.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    3d0c4829
Makefile 24.3 KB