diff options
Diffstat (limited to 'tests/qtest')
| -rw-r--r-- | tests/qtest/boot-serial-test.c | 2 | ||||
| -rw-r--r-- | tests/qtest/cdrom-test.c | 5 | ||||
| -rw-r--r-- | tests/qtest/dbus-display-test.c | 16 |
3 files changed, 20 insertions, 3 deletions
diff --git a/tests/qtest/boot-serial-test.c b/tests/qtest/boot-serial-test.c index 6dd06aeaf4..e3b7d65fe5 100644 --- a/tests/qtest/boot-serial-test.c +++ b/tests/qtest/boot-serial-test.c @@ -156,7 +156,7 @@ static const testdef_t tests[] = { "Open Firmware" }, { "ppc64", "powernv8", "", "OPAL" }, { "ppc64", "powernv9", "", "OPAL" }, - { "ppc64", "sam460ex", "-device e1000", "8086 100e" }, + { "ppc64", "sam460ex", "-device pci-bridge,chassis_nr=2", "1b36 0001" }, { "i386", "isapc", "-cpu qemu32 -M graphics=off", "SeaBIOS" }, { "i386", "pc", "-M graphics=off", "SeaBIOS" }, { "i386", "q35", "-M graphics=off", "SeaBIOS" }, diff --git a/tests/qtest/cdrom-test.c b/tests/qtest/cdrom-test.c index 0945383789..5d89e62515 100644 --- a/tests/qtest/cdrom-test.c +++ b/tests/qtest/cdrom-test.c @@ -271,6 +271,11 @@ int main(int argc, char **argv) const char *virtmachine[] = { "virt", NULL }; add_cdrom_param_tests(virtmachine); } + } else if (g_str_equal(arch, "loongarch64")) { + if (qtest_has_device("virtio-blk-pci")) { + const char *virtmachine[] = { "virt", NULL }; + add_cdrom_param_tests(virtmachine); + } } else { const char *nonemachine[] = { "none", NULL }; add_cdrom_param_tests(nonemachine); diff --git a/tests/qtest/dbus-display-test.c b/tests/qtest/dbus-display-test.c index 21edaa1e32..0390bdcb41 100644 --- a/tests/qtest/dbus-display-test.c +++ b/tests/qtest/dbus-display-test.c @@ -135,6 +135,13 @@ test_dbus_console_registered(GObject *source_object, NULL, #endif res, &err); + + if (g_error_matches(err, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) { + g_test_skip("The VM doesn't have a console!"); + g_main_loop_quit(test->loop); + return; + } + g_assert_no_error(err); test->listener_conn = g_thread_join(test->thread); @@ -156,7 +163,7 @@ test_dbus_display_console(void) g_autoptr(GMainLoop) loop = NULL; QTestState *qts = NULL; int pair[2]; - TestDBusConsoleRegister test; + TestDBusConsoleRegister test = { 0, }; #ifdef WIN32 WSAPROTOCOL_INFOW info; g_autoptr(GVariant) listener = NULL; @@ -245,7 +252,6 @@ test_dbus_display_keyboard(void) &err)); g_assert_no_error(err); - g_assert_cmpint(qtest_inb(qts, 0x64) & 0x1, ==, 0); g_assert_cmpint(qtest_inb(qts, 0x60), ==, 0); @@ -256,6 +262,12 @@ test_dbus_display_keyboard(void) -1, NULL, &err); + if (g_error_matches(err, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD)) { + g_test_skip("The VM doesn't have a console!"); + qtest_quit(qts); + return; + } + g_assert_no_error(err); /* may be should wait for interrupt? */ |