tests/x86: Add 'q35' machine type to ivshmem-test

Configure pci bridge setting to test ivshmem on 'q35'.

Signed-off-by: Michael Labiuk <michael.labiuk@virtuozzo.com>
Message-Id: <20220929223547.1429580-10-michael.labiuk@virtuozzo.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Michael Labiuk 2022-09-30 01:35:47 +03:00 committed by Thomas Huth
parent eb4440ef3a
commit 46d11f9d77

View File

@ -378,6 +378,20 @@ static void test_ivshmem_server(void)
close(thread.pipe[0]); close(thread.pipe[0]);
} }
static void test_ivshmem_hotplug_q35(void)
{
QTestState *qts = qtest_init("-object memory-backend-ram,size=1M,id=mb1 "
"-device pcie-root-port,id=p1 "
"-device pcie-pci-bridge,bus=p1,id=b1 "
"-machine q35");
qtest_qmp_device_add(qts, "ivshmem-plain", "iv1",
"{'memdev': 'mb1', 'bus': 'b1'}");
qtest_qmp_device_del_send(qts, "iv1");
qtest_quit(qts);
}
#define PCI_SLOT_HP 0x06 #define PCI_SLOT_HP 0x06
static void test_ivshmem_hotplug(void) static void test_ivshmem_hotplug(void)
@ -469,6 +483,7 @@ int main(int argc, char **argv)
{ {
int ret, fd; int ret, fd;
gchar dir[] = "/tmp/ivshmem-test.XXXXXX"; gchar dir[] = "/tmp/ivshmem-test.XXXXXX";
const char *arch = qtest_get_arch();
g_test_init(&argc, &argv, NULL); g_test_init(&argc, &argv, NULL);
@ -494,6 +509,9 @@ int main(int argc, char **argv)
qtest_add_func("/ivshmem/pair", test_ivshmem_pair); qtest_add_func("/ivshmem/pair", test_ivshmem_pair);
qtest_add_func("/ivshmem/server", test_ivshmem_server); qtest_add_func("/ivshmem/server", test_ivshmem_server);
} }
if (!strcmp(arch, "x86_64") && qtest_has_machine("q35")) {
qtest_add_func("/ivshmem/hotplug-q35", test_ivshmem_hotplug_q35);
}
out: out:
ret = g_test_run(); ret = g_test_run();