[glib PATCH 7/8] tests: Add basic test for domain capabilities

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

 



This basic test only ensures that we can properly parse:
<domainCapabilities>
  <os>
    <enum name="firmeware">
      <value>bios</value>
      <value>efi</value>
    </enum>
  </os>
</domainCapabilities>

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 tests/test-gconfig.c                         | 33 ++++++++++++++++++++
 tests/xml/gconfig-domain-capabilities-os.xml | 23 ++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 tests/xml/gconfig-domain-capabilities-os.xml

diff --git a/tests/test-gconfig.c b/tests/test-gconfig.c
index fda4fcb..6979578 100644
--- a/tests/test-gconfig.c
+++ b/tests/test-gconfig.c
@@ -791,6 +791,37 @@ static void test_domain_device_unknown(void)
     g_free(xml);
 }
 
+static void test_domain_capabilities_os(void)
+{
+    GVirConfigDomainCapabilities *domain_caps;
+    GVirConfigDomainCapabilitiesOs *os;
+    GList *firmwares, *l;
+    gsize i;
+    GVirConfigDomainOsFirmware expected_firmwares[] = {GVIR_CONFIG_DOMAIN_OS_FIRMWARE_BIOS,
+                                                       GVIR_CONFIG_DOMAIN_OS_FIRMWARE_EFI};
+    GError *error = NULL;
+    gchar *xml;
+
+    xml = load_xml("gconfig-domain-capabilities-os.xml");
+
+    domain_caps =  gvir_config_domain_capabilities_new_from_xml(xml, &error);
+    g_assert_no_error(error);
+
+    os = gvir_config_domain_capabilities_get_os(domain_caps);
+    g_assert_nonnull(os);
+
+    firmwares = gvir_config_domain_capabilities_os_get_firmwares(os);
+    g_assert_nonnull(firmwares);
+
+    for (l = firmwares, i = 0; l != NULL; l = l->next, i++)
+        g_assert_cmpint(GPOINTER_TO_INT(l->data), ==, expected_firmwares[i]);
+
+
+    g_list_free(firmwares);
+    g_object_unref(os);
+    g_object_unref(domain_caps);
+    g_free(xml);
+}
 
 int main(int argc, char **argv)
 {
@@ -825,6 +856,8 @@ int main(int argc, char **argv)
                     test_domain_device_pci_hostdev);
     g_test_add_func("/libvirt-gconfig/domain-device-unknown",
                     test_domain_device_unknown);
+    g_test_add_func("/libvirt-gconfig/domain-capabilities-os",
+                    test_domain_capabilities_os);
 
     return g_test_run();
 }
diff --git a/tests/xml/gconfig-domain-capabilities-os.xml b/tests/xml/gconfig-domain-capabilities-os.xml
new file mode 100644
index 0000000..7e813c6
--- /dev/null
+++ b/tests/xml/gconfig-domain-capabilities-os.xml
@@ -0,0 +1,23 @@
+<domainCapabilities>
+  <os supported='yes'>
+    <enum name='firmware'>
+      <value>bios</value>
+      <value>efi</value>
+    </enum>
+    <loader supported='yes'>
+      <value>/usr/share/edk2/ovmf/OVMF_CODE.fd</value>
+      <value>/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</value>
+      <enum name='type'>
+        <value>rom</value>
+        <value>pflash</value>
+      </enum>
+      <enum name='readonly'>
+        <value>yes</value>
+        <value>no</value>
+      </enum>
+      <enum name='secure'>
+        <value>no</value>
+      </enum>
+    </loader>
+  </os>
+</domainCapabilities>
-- 
2.21.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




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

  Powered by Linux