[libosinfo PATCH 27/31] test-os: Add basic tests for Guest Features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 tests/test-os.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/tests/test-os.c b/tests/test-os.c
index 0b586b2..b154e94 100644
--- a/tests/test-os.c
+++ b/tests/test-os.c
@@ -61,6 +61,31 @@ test_devices(void)
 }
 
 
+static void
+test_features(void)
+{
+    OsinfoOs *os = osinfo_os_new("awesome");
+    OsinfoFeature *feature1 = osinfo_feature_new("cpu-hotplug");
+    OsinfoFeature *feature2 = osinfo_feature_new("numa");
+
+    OsinfoFeatureLink *link1 = osinfo_os_add_feature(os, feature1);
+    osinfo_entity_add_param(OSINFO_ENTITY(link1), "foo", "bar");
+    OsinfoFeatureLink *link2 = osinfo_os_add_feature(os, feature2);
+    osinfo_entity_add_param(OSINFO_ENTITY(link2), "bar", "foo");
+
+    OsinfoFeatureList *features = osinfo_os_get_features(os, NULL);
+
+    g_assert_cmpint(osinfo_list_get_length(OSINFO_LIST(features)), ==, 2);
+    g_assert_true(osinfo_list_get_nth(OSINFO_LIST(features), 0) == OSINFO_ENTITY(feature1));
+    g_assert_true(osinfo_list_get_nth(OSINFO_LIST(features), 1) == OSINFO_ENTITY(feature2));
+
+    g_object_unref(features);
+    g_object_unref(feature1);
+    g_object_unref(feature2);
+    g_object_unref(os);
+}
+
+
 static void
 test_loader(void)
 {
@@ -894,6 +919,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/features", test_features);
     g_test_add_func("/os/resources/minimum_recommended_maximum",
                     test_resources_minimum_recommended_maximum);
     g_test_add_func("/os/resources/uniqueness", test_resources_uniqueness);
-- 
2.19.1

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux