
On Thu, Nov 03, 2016 at 10:06:22AM +0100, Zeeshan Ali wrote:
--- tests/test-gconfig.c | 22 ++++++++++++++++++++++ tests/xml/gconfig-domain-device-unknown.xml | 5 +++++ 2 files changed, 27 insertions(+) create mode 100644 tests/xml/gconfig-domain-device-unknown.xml
diff --git a/tests/test-gconfig.c b/tests/test-gconfig.c index 5389a26..b91f5af 100644 --- a/tests/test-gconfig.c +++ b/tests/test-gconfig.c @@ -762,6 +762,26 @@ 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); + + g_list_free(devices); + g_object_unref(G_OBJECT(domain)); +}
The whole point of this work is to make sure that the unknown nodes are kept when regenerating the XML document, so I would expect a call to check_xml() too after calling set_devices(domain, devices); You should have g_list_free_full(devices, g_object_unref); when freeing the device list. Christophe