On 10/01/2015 09:34 AM, Markus Armbruster wrote: >>> Do we have a test for the simpler case of a struct inheriting from >>> itself? >> >> Not here, but in v5 16/46. That's because it asserts, but while it was >> easy to fix up in the QAPISchema.check(), I did not find it worth the >> churn to fix it up in the ad hoc parse code just to rip it back out >> later, and the QAPISchema.check() code requires several scaffolding >> patches (so it wasn't as easy as fixing the union 'type' clash asserts). >> Tracking an assertion failure for any more than one patch at a time is >> horrible (as any other change to qapi.py changes line numbers that >> affect the assertion failure). > > Well, I'm happy to take a test for inheritance loops, or leave it > uncovered for now, but I don't want to take a non-working test of an > unimplemented obscure case "union" without a test for the implemented > case "struct". > > I can: > > A. Drop this test case. > > B. Replace it with the test case from 16/46. > > C. Add the test case from 16/46 and keep this one. > > I very much prefer B. You?
If we go with B, we'd have an assertion failure that does not get fixed by 6/18, and therefore is subject to churn until the fix is present. I'm leaning towards A (calling self-inheritance a name collision is a bit of a stretch in the first place; and leaving it untested until 16/46 goes in doesn't hurt). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature