f2e57851b8
display-vga-test currently tries to guess the usable VGA devices according to the target architecture that is used for the test. This of course does not work if QEMU has been built with the "--without-default-devices" configure switch. To fix this, use the qtest_has_device() function for the decision instead. This way we can also consolidate most of the test functions into one single function (that takes a parameter with the device name now), except for the multihead test that tries to instantiate two devices and thus is a little bit different. Message-Id: <20230130104446.1286773-4-thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
/*
|
|
* QTest testcase for vga cards
|
|
*
|
|
* Copyright (c) 2014 Red Hat, Inc
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#include "qemu/osdep.h"
|
|
#include "libqtest.h"
|
|
|
|
static void pci_multihead(void)
|
|
{
|
|
QTestState *qts;
|
|
|
|
qts = qtest_init("-vga none -device VGA -device secondary-vga");
|
|
qtest_quit(qts);
|
|
}
|
|
|
|
static void test_vga(gconstpointer data)
|
|
{
|
|
QTestState *qts;
|
|
|
|
qts = qtest_initf("-vga none -device %s", (const char *)data);
|
|
qtest_quit(qts);
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
static const char *devices[] = {
|
|
"cirrus-vga",
|
|
"VGA",
|
|
"secondary-vga",
|
|
"virtio-gpu-pci",
|
|
"virtio-vga"
|
|
};
|
|
|
|
g_test_init(&argc, &argv, NULL);
|
|
|
|
for (int i = 0; i < ARRAY_SIZE(devices); i++) {
|
|
if (qtest_has_device(devices[i])) {
|
|
char *testpath = g_strdup_printf("/display/pci/%s", devices[i]);
|
|
qtest_add_data_func(testpath, devices[i], test_vga);
|
|
g_free(testpath);
|
|
}
|
|
}
|
|
|
|
if (qtest_has_device("secondary-vga")) {
|
|
qtest_add_func("/display/pci/multihead", pci_multihead);
|
|
}
|
|
|
|
return g_test_run();
|
|
}
|