[libvirt] [PATCH v2] [glib 5/5] gconfig, tests: Add test case for unknown devices

Zeeshan Ali zeenix at gmail.com
Thu Nov 3 13:05:46 UTC 2016


On Thu, Nov 3, 2016 at 1:03 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> 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);

* g_assert_nonnull(devices); actually checks that the only dev in the
original xml is still there or not.
* check_xml() does a simple string comparison and that fails since
set_devices() changes the format.

> You should have g_list_free_full(devices, g_object_unref); when freeing
> the device list.

will change that.

-- 
Regards,

Zeeshan Ali




More information about the libvir-list mailing list