Coverity is unhappy with the generated code. Nothing serious, just heaps of valid DEADCODE defects topped off with a few bogus FORWARD_NULL defects.
I had a look at the generator, and decided I don't want to mess with it without decent test coverage. Unfortunately, a few features have been added without tests. My first seven patches make the tests catch up. tests/qapi-schema/qapi-schema-test.json now covers all mcgen() in scripts/qapi*.py, except for a few in qapi-commands.py that are conditional on -m. The next four patches clean up the generated code. I also reviewed null checks in visitor implementations. The final two patches address the issues I found there. v2: * Previously separate patch "qapi: Fix licensing of scripts" revised and included as "[PATCH v2 08/13] qapi: Fix licensing of scripts" * Style cleanups * New PATCH 12/13 and 13/13 Markus Armbruster (13): tests/qapi-schema: Actually check successful QMP command response tests/qapi-schema: Cover optional command arguments tests/qapi-schema: Cover simple argument types tests/qapi-schema: Cover anonymous union types tests/qapi-schema: Cover complex types with base tests/qapi-schema: Cover union types with base tests/qapi-schema: Cover flat union types qapi: Fix licensing of scripts qapi: Drop nonsensical header guard in generated qapi-visit.c qapi: Drop unused code in qapi-commands.py qapi: Clean up null checking in generated visitors qapi: Clean up superfluous null check in qapi_dealloc_type_str() qapi: Add missing null check to opts_start_struct() qapi/opts-visitor.c | 4 +- qapi/qapi-dealloc-visitor.c | 4 +- scripts/qapi-commands.py | 24 +--------- scripts/qapi-types.py | 4 +- scripts/qapi-visit.py | 20 ++++----- scripts/qapi.py | 4 +- tests/qapi-schema/qapi-schema-test.json | 24 +++++++++- tests/qapi-schema/qapi-schema-test.out | 19 +++++--- tests/test-qmp-commands.c | 78 +++++++++++++++++++++++++++------ tests/test-qmp-input-strict.c | 69 ++++++++++++++++++++++++++++- tests/test-qmp-input-visitor.c | 45 +++++++++++++++++-- tests/test-qmp-output-visitor.c | 67 ++++++++++++++++++++++++++-- tests/test-visitor-serialization.c | 14 +++--- 13 files changed, 299 insertions(+), 77 deletions(-) -- 1.8.1.4