QMP command device-list-properties regressed in 2.1: it can crash or leave dangling pointers behind.
-device FOO,help regressed in 2.2: it no longer works for non-pluggable devices. I tried to fix that some time ago[*], but my fix failed review. This is my second, more comprehensive try. PATCH 1,2 are preliminaries, PATCH 3 adds tests to demonstrate the bugs, PATCH 4-6 fix them to a degree (see PATCH 5 for limitations), and PATCH 7 cleans up. [*] [PATCH] qdev: Make -device FOO,help help again when FOO is not pluggable https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg03459.html Message-Id: <1426527232-15044-1-git-send-email-arm...@redhat.com> Markus Armbruster (7): libqtest: Clean up unused QTestState member sigact_old libqtest: New hmp() & friends device-introspect-test: New, covering device introspection qmp: Fix device-list-properties not to crash for abstract device qdev: Protect device-list-properties against broken devices Revert "qdev: Use qdev_get_device_class() for -device <type>,help" tests: Simplify how qom-test is run hw/arm/allwinner-a10.c | 2 + hw/arm/digic.c | 2 + hw/arm/fsl-imx25.c | 2 + hw/arm/fsl-imx31.c | 2 + hw/arm/xlnx-zynqmp.c | 2 + hw/pci-host/versatile.c | 11 ++++ hw/pcmcia/pxa2xx.c | 9 ++++ hw/s390x/event-facility.c | 3 ++ hw/s390x/sclp.c | 3 ++ include/hw/qdev-core.h | 13 +++++ qdev-monitor.c | 9 ++-- qmp.c | 11 ++++ qom/cpu.c | 2 + target-i386/cpu.c | 2 + target-ppc/kvm.c | 4 ++ tests/Makefile | 16 +++--- tests/device-introspect-test.c | 117 +++++++++++++++++++++++++++++++++++++++++ tests/drive_del-test.c | 22 +++----- tests/ide-test.c | 8 +-- tests/libqtest.c | 36 ++++++++++++- tests/libqtest.h | 33 ++++++++++++ 21 files changed, 276 insertions(+), 33 deletions(-) create mode 100644 tests/device-introspect-test.c -- 2.4.3