On 12/03/2026 09.15, Markus Armbruster wrote:
Markus Armbruster <[email protected]> writes:
...
These crashes escape tests/qtest/device-introspect-test, because it
covers only HMP "device_add T,help", not CLI "-device T,help".
Anyone wants to cook up a patch to cover -device?
Quick'n'dirty patch:
diff --git a/tests/qtest/device-introspect-test.c
b/tests/qtest/device-introspect-test.c
--- a/tests/qtest/device-introspect-test.c
+++ b/tests/qtest/device-introspect-test.c
@@ -105,6 +105,7 @@ static void test_one_device(QTestState *qts, const char
*type)
QDict *resp;
char *help, *escaped;
GRegex *comma;
+ int ret;
g_test_message("Testing device '%s'", type);
@@ -119,6 +120,17 @@ static void test_one_device(QTestState *qts, const char
*type)
help = qtest_hmp(qts, "device_add \"%s,help\"", escaped);
g_free(help);
+
+ if (!g_str_equal(type, "nonexistent") && !g_str_equal(type, "device")) {
+ help = g_strdup_printf("%s -device \"%s,help\" > /dev/null",
qtest_qemu_binary(NULL), escaped);
+ ret = system(help);
+ g_free(help);
+ if (ret) {
+ fprintf(stderr, "Running qemu with -device %s,help failed!\n",
escaped);
+ abort();
+ }
+ }
+
g_free(escaped);
}
But I think it needs some more work - we likely don't want to run this for
each test run since it slows down the test quite a bit. And the
g_test_quick() switch is already used for something else here.
Anyway, found these additional issues so far:
./qemu-system-ppc -device raven-pcihost,help
Segmentation fault (core dumped)
./qemu-system-sparc -device cgthree,help
Segmentation fault (core dumped)
Thomas