[PATCH v2 00/23] tests: qemu: Don't crash when capability file can't be parsed

Peter Krempa posted 23 patches 2 years, 8 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1629217367.git.pkrempa@redhat.com
src/qemu/qemu_capabilities.c  |  13 -
src/qemu/qemu_capabilities.h  |   2 -
tests/qemustatusxml2xmltest.c |  21 +-
tests/qemuxml2argvtest.c      | 666 +++++++++++++++++-----------------
tests/qemuxml2xmltest.c       | 578 ++++++++++++++---------------
tests/testutilsqemu.c         | 140 ++++---
tests/testutilsqemu.h         |  30 +-
7 files changed, 706 insertions(+), 744 deletions(-)
[PATCH v2 00/23] tests: qemu: Don't crash when capability file can't be parsed
Posted by Peter Krempa 2 years, 8 months ago
The original patch was replaced. A nice side effect of this series is
substantial improvement of compile times for:

 qemuxml2xmltest 15.8s -> 1.3s
 qemuxml2argvtest 6.4s -> 1.8s

In addition this also cleans up the messy parsing of fake caps and
removes the somewhat ambiguous NONE macro.

Peter Krempa (23):
  qemu: capabilities: Remove virQEMUCapsSetList
  qemuxml2argvtest: Add 'ARG_END' from higher level macros
  qemuxml2argvtest: Fix broken invocation of "pseries-spaprvio-invalid"
  qemuxml2argvtest: Fix broken invocation of "aarch64-tpm-wrong-model"
  testQemuInfoSetArgs: Always allocate 'info->qemuCaps'
  qemustatusxml2xmltest: Remove hack for qemuCaps allocation
  qemuxml2argvtest: Add QEMU_CAPS_LAST in places where ARG_QEMU_CAPS is
    used
  qemuxml2argvtest: Rename DO_TEST_INTERNAL to DO_TEST_FULL and fix
    users
  qemuxml2argvtest: Add 'DO_TEST_NOCAPS' to replace 'DO_TEST("blah",
    NONE);'
  qemuxml2argvtest: Add 'DO_TEST_PARSE_ERROR_NOCAPS' to replace
    'DO_TEST_PARSE_ERROR("blah", NONE);'
  qemuxml2argvtest: Add 'DO_TEST_FAILURE_NOCAPS' to replace
    'DO_TEST_FAILURE("blah", NONE);'
  qemuxml2xmltest: Add 'ARG_END' from higher level macros
  qemuxml2xmltest: Rename DO_TEST_INTERNAL to DO_TEST_FULL and fix users
  qemuxml2xmltest: Remove hack for qemuCaps allocation
  qemuxml2xmltest: Add 'DO_TEST_NOCAPS' to replace 'DO_TEST("blah",
    NONE);'
  qemuxml2xmltest: Remove 'NONE' macro
  testutilsqemu: Ensure that ARG_* macros are out of range of
    QEMU_CAPS_*
  testQemuInfoSetArgs: Remove hack for double QEMU_CAPS_LAST in caps
    list
  testQemuInfoSetArgs: Move argument fetching to the loop
  testutilsqemu: Introduce struct to hold data valid for all test runs
  testutilsqemu: Improve error propagation from 'testQemuInfoSetArgs'
  qemuxml2argvtest: Avoid conditions in test macro
  qemuxml2xmltesttest: Avoid conditions in test macro

 src/qemu/qemu_capabilities.c  |  13 -
 src/qemu/qemu_capabilities.h  |   2 -
 tests/qemustatusxml2xmltest.c |  21 +-
 tests/qemuxml2argvtest.c      | 666 +++++++++++++++++-----------------
 tests/qemuxml2xmltest.c       | 578 ++++++++++++++---------------
 tests/testutilsqemu.c         | 140 ++++---
 tests/testutilsqemu.h         |  30 +-
 7 files changed, 706 insertions(+), 744 deletions(-)

-- 
2.31.1

Re: [PATCH v2 00/23] tests: qemu: Don't crash when capability file can't be parsed
Posted by Ján Tomko 2 years, 8 months ago
On a Tuesday in 2021, Peter Krempa wrote:
>The original patch was replaced. A nice side effect of this series is
>substantial improvement of compile times for:
>
> qemuxml2xmltest 15.8s -> 1.3s
> qemuxml2argvtest 6.4s -> 1.8s
>
>In addition this also cleans up the messy parsing of fake caps and
>removes the somewhat ambiguous NONE macro.
>
>Peter Krempa (23):
>  qemu: capabilities: Remove virQEMUCapsSetList
>  qemuxml2argvtest: Add 'ARG_END' from higher level macros
>  qemuxml2argvtest: Fix broken invocation of "pseries-spaprvio-invalid"
>  qemuxml2argvtest: Fix broken invocation of "aarch64-tpm-wrong-model"
>  testQemuInfoSetArgs: Always allocate 'info->qemuCaps'
>  qemustatusxml2xmltest: Remove hack for qemuCaps allocation
>  qemuxml2argvtest: Add QEMU_CAPS_LAST in places where ARG_QEMU_CAPS is
>    used
>  qemuxml2argvtest: Rename DO_TEST_INTERNAL to DO_TEST_FULL and fix
>    users
>  qemuxml2argvtest: Add 'DO_TEST_NOCAPS' to replace 'DO_TEST("blah",
>    NONE);'
>  qemuxml2argvtest: Add 'DO_TEST_PARSE_ERROR_NOCAPS' to replace
>    'DO_TEST_PARSE_ERROR("blah", NONE);'
>  qemuxml2argvtest: Add 'DO_TEST_FAILURE_NOCAPS' to replace
>    'DO_TEST_FAILURE("blah", NONE);'
>  qemuxml2xmltest: Add 'ARG_END' from higher level macros
>  qemuxml2xmltest: Rename DO_TEST_INTERNAL to DO_TEST_FULL and fix users
>  qemuxml2xmltest: Remove hack for qemuCaps allocation
>  qemuxml2xmltest: Add 'DO_TEST_NOCAPS' to replace 'DO_TEST("blah",
>    NONE);'
>  qemuxml2xmltest: Remove 'NONE' macro
>  testutilsqemu: Ensure that ARG_* macros are out of range of
>    QEMU_CAPS_*
>  testQemuInfoSetArgs: Remove hack for double QEMU_CAPS_LAST in caps
>    list
>  testQemuInfoSetArgs: Move argument fetching to the loop
>  testutilsqemu: Introduce struct to hold data valid for all test runs
>  testutilsqemu: Improve error propagation from 'testQemuInfoSetArgs'
>  qemuxml2argvtest: Avoid conditions in test macro
>  qemuxml2xmltesttest: Avoid conditions in test macro
>
> src/qemu/qemu_capabilities.c  |  13 -
> src/qemu/qemu_capabilities.h  |   2 -
> tests/qemustatusxml2xmltest.c |  21 +-
> tests/qemuxml2argvtest.c      | 666 +++++++++++++++++-----------------
> tests/qemuxml2xmltest.c       | 578 ++++++++++++++---------------
> tests/testutilsqemu.c         | 140 ++++---
> tests/testutilsqemu.h         |  30 +-
> 7 files changed, 706 insertions(+), 744 deletions(-)
>

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano