diff options
author | Fabiano Fidêncio <fabiano@fidencio.org> | 2019-01-22 20:28:20 +0100 |
---|---|---|
committer | Fabiano Fidêncio <fidencio@redhat.com> | 2019-01-24 14:50:06 +0100 |
commit | 2c86124256467b1e4db9e5afce50c38bc243f3ed (patch) | |
tree | 8cb2c24f8f973f4bfc6f2d0252548515212ae506 | |
parent | c06bf702b4ad77c2b61dc284d8c990c60691082c (diff) | |
download | libosinfo-2c86124256467b1e4db9e5afce50c38bc243f3ed.tar.gz |
test-os: Add basic test for resources
This test only ensures that libosinfo is able to properly load the
resource info from an OS entry.
Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
-rw-r--r-- | tests/dbdata/os/libosinfo.org/test-os-resources-basic.xml | 37 | ||||
-rw-r--r-- | tests/test-os.c | 53 |
2 files changed, 90 insertions, 0 deletions
diff --git a/tests/dbdata/os/libosinfo.org/test-os-resources-basic.xml b/tests/dbdata/os/libosinfo.org/test-os-resources-basic.xml new file mode 100644 index 0000000..65f6fb2 --- /dev/null +++ b/tests/dbdata/os/libosinfo.org/test-os-resources-basic.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<libosinfo version="0.0.1"> + <os id="http://libosinfo.org/test/os/resources/basic"> + <short-id>resourcesbasic</short-id> + <name>Resources Basic</name> + <vendor>libosinfo.org</vendor> + <family>test</family> + + <resources arch="all"> + <minimum> + <n-cpus>1</n-cpus> + <cpu>1</cpu> + <ram>1</ram> + <storage>1</storage> + </minimum> + <recommended> + <n-cpus>2</n-cpus> + <cpu>2</cpu> + <ram>2</ram> + <storage>2</storage> + </recommended> + <maximum> + <n-cpus>3</n-cpus> + <cpu>3</cpu> + <ram>3</ram> + <storage>3</storage> + </maximum> + <network-install> + <n-cpus>4</n-cpus> + <cpu>4</cpu> + <ram>4</ram> + <storage>4</storage> + </network-install> + </resources> + + </os> +</libosinfo> diff --git a/tests/test-os.c b/tests/test-os.c index 1c13c56..f4e758d 100644 --- a/tests/test-os.c +++ b/tests/test-os.c @@ -218,6 +218,58 @@ test_device_driver(void) } +static void test_resources_basic(void) +{ + OsinfoLoader *loader = osinfo_loader_new(); + OsinfoDb *db; + OsinfoOs *os; + OsinfoResourcesList *resources_list; + OsinfoResources *resources; + GError *error = NULL; + + osinfo_loader_process_path(loader, SRCDIR "/tests/dbdata", &error); + g_assert_no_error(error); + db = g_object_ref(osinfo_loader_get_db(loader)); + g_object_unref(loader); + + os = osinfo_db_get_os(db, "http://libosinfo.org/test/os/resources/basic"); + + resources_list = osinfo_os_get_minimum_resources(os); + resources = OSINFO_RESOURCES(osinfo_list_get_nth(OSINFO_LIST(resources_list), 0)); + g_assert_cmpint(osinfo_resources_get_n_cpus(resources), ==, 1); + g_assert_cmpint(osinfo_resources_get_cpu(resources), ==, 1); + g_assert_cmpint(osinfo_resources_get_ram(resources), ==, 1); + g_assert_cmpint(osinfo_resources_get_storage(resources), ==, 1); + + g_clear_object(&resources_list); + resources_list = osinfo_os_get_recommended_resources(os); + resources = OSINFO_RESOURCES(osinfo_list_get_nth(OSINFO_LIST(resources_list), 0)); + g_assert_cmpint(osinfo_resources_get_n_cpus(resources), ==, 2); + g_assert_cmpint(osinfo_resources_get_cpu(resources), ==, 2); + g_assert_cmpint(osinfo_resources_get_ram(resources), ==, 2); + g_assert_cmpint(osinfo_resources_get_storage(resources), ==, 2); + + g_clear_object(&resources_list); + resources_list = osinfo_os_get_maximum_resources(os); + resources = OSINFO_RESOURCES(osinfo_list_get_nth(OSINFO_LIST(resources_list), 0)); + g_assert_cmpint(osinfo_resources_get_n_cpus(resources), ==, 3); + g_assert_cmpint(osinfo_resources_get_cpu(resources), ==, 3); + g_assert_cmpint(osinfo_resources_get_ram(resources), ==, 3); + g_assert_cmpint(osinfo_resources_get_storage(resources), ==, 3); + + g_clear_object(&resources_list); + resources_list = osinfo_os_get_network_install_resources(os); + resources = OSINFO_RESOURCES(osinfo_list_get_nth(OSINFO_LIST(resources_list), 0)); + g_assert_cmpint(osinfo_resources_get_n_cpus(resources), ==, 4); + g_assert_cmpint(osinfo_resources_get_cpu(resources), ==, 4); + g_assert_cmpint(osinfo_resources_get_ram(resources), ==, 4); + g_assert_cmpint(osinfo_resources_get_storage(resources), ==, 4); + + g_object_unref(resources_list); + g_object_unref(db); +} + + static void test_n_cpus(OsinfoResources *resources1, OsinfoResources *resources2) { gint resources1_cpus, resources2_cpus; @@ -947,6 +999,7 @@ main(int argc, char *argv[]) test_devices_inheritance_basic); g_test_add_func("/os/devices/inheritance/removal", test_devices_inheritance_removal); + g_test_add_func("/os/resources/basic", test_resources_basic); g_test_add_func("/os/resources/minimum_recommended_maximum", test_resources_minimum_recommended_maximum); g_test_add_func("/os/resources/uniqueness", test_resources_uniqueness); |