Eric Blake <ebl...@redhat.com> writes: > On 9/14/19 10:34 AM, Markus Armbruster wrote: >> Cover invalid 'if' in struct members, features, union and alternate >> branches. Four out of four are broken. Mark FIXME. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- > > Embarrassing. But the fact that you're pointing them out presumably > means that you fix it later in the series ;)
Yes: [PATCH 09/19] qapi: Remove null from schema language [PATCH 12/19] qapi: Fix missing 'if' checks in struct, union, alternate 'data' >> +++ b/tests/qapi-schema/features-if-invalid.json >> @@ -0,0 +1,5 @@ >> +# Cover feature with invalid 'if' >> +# FIXME not rejected, misinterpreded as unconditional > > misinterpreted > > With the typo fix, > > Reviewed-by: Eric Blake <ebl...@redhat.com> Thanks! >> +++ b/tests/qapi-schema/struct-member-if-invalid.json >> @@ -0,0 +1,4 @@ >> +# Cover member with invalid 'if' >> +# FIXME not rejected, would generate '#if True\n' > > Which might actually compile, depending on what else is present in > various headers! But certainly not what was intended. > >> +++ b/tests/qapi-schema/union-branch-if-invalid.json >> @@ -0,0 +1,7 @@ >> +# Cover branch with invalid 'if' >> +# FIXME not rejected, would generate '#if \n' >> +{ 'enum': 'Branches', 'data': ['branch1'] } >> +{ 'struct': 'Stru', 'data': { 'member': 'str' } } >> +{ 'union': 'Uni', >> + 'base': { 'tag': 'Branches' }, 'discriminator': 'tag', >> + 'data': { 'branch1': { 'type': 'Stru', 'if': [''] } } } > > So you're pointing out a difference between an empty string and a string > not containing a C macro name (possibly because later patches will give > them different error messages). Not sure I got this comment.