[libosinfo PATCH 2/3] test-os: Cover osinfo_tree_has_treeinfo()

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

 



Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 .../dbdata/os/fedoraproject.org/fedora-16.xml |  4 +++
 tests/test-os.c                               | 29 ++++++++++++++-----
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/tests/dbdata/os/fedoraproject.org/fedora-16.xml b/tests/dbdata/os/fedoraproject.org/fedora-16.xml
index c67ce23..758c45a 100644
--- a/tests/dbdata/os/fedoraproject.org/fedora-16.xml
+++ b/tests/dbdata/os/fedoraproject.org/fedora-16.xml
@@ -28,5 +28,9 @@
         <arch>i386</arch>
       </treeinfo>
     </tree>
+
+    <tree arch="x86_64">
+      <url>http://archive.fedoraproject.org/pub/archive/fedora/linux/releases/16/Fedora/x86_64/os/</url>
+    </tree>
   </os>
 </libosinfo>
diff --git a/tests/test-os.c b/tests/test-os.c
index 1756e59..7c0a198 100644
--- a/tests/test-os.c
+++ b/tests/test-os.c
@@ -70,6 +70,8 @@ test_loader(void)
     OsinfoTreeList *treelist;
     OsinfoTree *tree;
     GError *error = NULL;
+    gsize i = 0;
+    gint treelist_len;
     const char *str;
 
     loader = osinfo_loader_new();
@@ -131,14 +133,25 @@ test_loader(void)
     str = osinfo_product_get_short_id(OSINFO_PRODUCT(os));
     g_assert_cmpstr(str, ==, "fedora16");
     treelist = osinfo_os_get_tree_list(os);
-    g_assert_cmpint(osinfo_list_get_length(OSINFO_LIST(treelist)), ==, 1);
-    tree = OSINFO_TREE(osinfo_list_get_nth(OSINFO_LIST(treelist), 0));
-    str = osinfo_tree_get_treeinfo_family(tree);
-    g_assert_cmpstr(str, ==, "Fedora");
-    str = osinfo_tree_get_treeinfo_version(tree);
-    g_assert_cmpstr(str, ==, "16");
-    str = osinfo_tree_get_treeinfo_arch(tree);
-    g_assert_cmpstr(str, ==, "i386");
+    treelist_len = osinfo_list_get_length(OSINFO_LIST(treelist));
+    g_assert_cmpint(treelist_len, ==, 2);
+
+    for (i = 0; i < treelist_len; i++) {
+        tree = OSINFO_TREE(osinfo_list_get_nth(OSINFO_LIST(treelist), i));
+
+        str = osinfo_tree_get_architecture(tree);
+        if (g_str_equal(str, "i686")) {
+            g_assert_true(osinfo_tree_has_treeinfo(tree));
+            str = osinfo_tree_get_treeinfo_family(tree);
+            g_assert_cmpstr(str, ==, "Fedora");
+            str = osinfo_tree_get_treeinfo_version(tree);
+            g_assert_cmpstr(str, ==, "16");
+            str = osinfo_tree_get_treeinfo_arch(tree);
+            g_assert_cmpstr(str, ==, "i386");
+        } else {
+            g_assert_false(osinfo_tree_has_treeinfo(tree));
+        }
+    }
 
     g_object_unref(loader);
 }
-- 
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