On Sat, 1 Mar 2014 08:40:26 +0100 Markus Armbruster <arm...@redhat.com> wrote:
> 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. Applied to the qmp branch, thanks. > > v3: > * Trivially rebased > > 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(-) >