From 201aa17efd4ddd512d6a04b98847424c6178318d Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Tue, 28 Feb 2023 22:15:29 +0100 Subject: [PATCH] tests/qtest/readconfig: Test docs/config/ich9-ehci-uhci.cfg We've got some sample config files in docs/config/ but no means of regression checking them. Thus let's test them in our readconfig qtest, starting with ich9-ehci-uhci.cfg. Note: To enable the test to read the config files from the build folder, we have to install a symlink for docs/config in the build directory. Message-Id: <20230228211533.201837-3-thuth@redhat.com> Signed-off-by: Thomas Huth --- configure | 1 + tests/qtest/readconfig-test.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/configure b/configure index 219ff13748..7290493729 100755 --- a/configure +++ b/configure @@ -2262,6 +2262,7 @@ fi # tests might fail. Prefer to keep the relevant files in their own # directory and symlink the directory instead. LINKS="Makefile" +LINKS="$LINKS docs/config" LINKS="$LINKS pc-bios/optionrom/Makefile" LINKS="$LINKS pc-bios/s390-ccw/Makefile" LINKS="$LINKS pc-bios/vof/Makefile" diff --git a/tests/qtest/readconfig-test.c b/tests/qtest/readconfig-test.c index 26d79b5e4b..2160603880 100644 --- a/tests/qtest/readconfig-test.c +++ b/tests/qtest/readconfig-test.c @@ -177,6 +177,26 @@ static void test_object_rng(void) qtest_quit(qts); } +static void test_docs_config_ich9(void) +{ + QTestState *qts; + QDict *resp; + QObject *qobj; + + qts = qtest_initf("-nodefaults -readconfig docs/config/ich9-ehci-uhci.cfg"); + + resp = qtest_qmp(qts, "{ 'execute': 'qom-list'," + " 'arguments': {'path': '/machine/peripheral' }}"); + qobj = qdict_get(resp, "return"); + test_object_available(qobj, "ehci", "ich9-usb-ehci1"); + test_object_available(qobj, "uhci-1", "ich9-usb-uhci1"); + test_object_available(qobj, "uhci-2", "ich9-usb-uhci2"); + test_object_available(qobj, "uhci-3", "ich9-usb-uhci3"); + qobject_unref(resp); + + qtest_quit(qts); +} + int main(int argc, char *argv[]) { const char *arch; @@ -187,6 +207,7 @@ int main(int argc, char *argv[]) if (g_str_equal(arch, "i386") || g_str_equal(arch, "x86_64")) { qtest_add_func("readconfig/x86/memdev", test_x86_memdev); + qtest_add_func("readconfig/x86/ich9-ehci-uhci", test_docs_config_ich9); } #ifdef CONFIG_SPICE qtest_add_func("readconfig/spice", test_spice);