gconfig,tests: Add test case for unknown devices
authorZeeshan Ali <zeenix@gmail.com>
Tue, 1 Nov 2016 16:29:46 +0000 (17:29 +0100)
committerZeeshan Ali <zeenix@gmail.com>
Fri, 4 Nov 2016 09:52:44 +0000 (10:52 +0100)
tests/test-gconfig.c
tests/xml/gconfig-domain-device-unknown.xml [new file with mode: 0644]

index 5389a26..9cf3f12 100644 (file)
@@ -762,6 +762,29 @@ static void test_domain_device_pci_hostdev(void)
     g_object_unref(G_OBJECT(domain));
 }
 
+static void test_domain_device_unknown(void)
+{
+    GVirConfigDomain *domain;
+    GList *devices;
+    GError *error = NULL;
+    char *xml;
+
+    xml = load_xml("gconfig-domain-device-unknown.xml");
+
+    domain = gvir_config_domain_new_from_xml(xml, &error);
+    g_assert_no_error(error);
+
+    devices = gvir_config_domain_get_devices(domain);
+    g_assert_nonnull(devices);
+    gvir_config_domain_set_devices(domain, devices);
+
+    check_xml(domain, "gconfig-domain-device-unknown.xml");
+
+    g_list_free_full(devices, g_object_unref);
+    g_object_unref(G_OBJECT(domain));
+}
+
+
 int main(int argc, char **argv)
 {
     gvir_config_init(&argc, &argv);
@@ -793,6 +816,8 @@ int main(int argc, char **argv)
                     test_domain_device_usb_redir);
     g_test_add_func("/libvirt-gconfig/domain-device-pci-hostdev",
                     test_domain_device_pci_hostdev);
+    g_test_add_func("/libvirt-gconfig/domain-device-unknown",
+                    test_domain_device_unknown);
 
     return g_test_run();
 }
diff --git a/tests/xml/gconfig-domain-device-unknown.xml b/tests/xml/gconfig-domain-device-unknown.xml
new file mode 100644 (file)
index 0000000..dadddc1
--- /dev/null
@@ -0,0 +1,3 @@
+<domain>
+
+<devices><unknown/></devices></domain>