[libvirt] [PATCH v4 6/6] Add test for GVirConfigDomainHostdevPci API

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Tue Apr 26 15:47:58 UTC 2016


On Thu, Apr 21, 2016 at 3:14 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> And one more.

Yours? AFAIK it's mine.

> On Fri, Apr 15, 2016 at 02:38:24PM +0100, Zeeshan Ali (Khattak) wrote:
>> ---
>>  tests/test-gconfig.c                            | 43 +++++++++++++++++++++++++
>>  tests/xml/gconfig-domain-device-pci-hostdev.xml | 11 +++++++
>>  2 files changed, 54 insertions(+)
>>  create mode 100644 tests/xml/gconfig-domain-device-pci-hostdev.xml
>>
>> diff --git a/tests/test-gconfig.c b/tests/test-gconfig.c
>> index be55ef9..a26bb5f 100644
>> --- a/tests/test-gconfig.c
>> +++ b/tests/test-gconfig.c
>> @@ -709,6 +709,47 @@ static void test_domain_device_usb_redir(void)
>>      g_object_unref(G_OBJECT(domain));
>>  }
>>
>> +static void test_domain_device_pci_hostdev(void)
>> +{
>> +    GVirConfigDomain *domain;
>> +    GVirConfigDomainAddressPci *address;
>> +    GVirConfigDomainHostdevPci *hostdev;
>> +
>> +    domain = gvir_config_domain_new();
>> +
>> +    hostdev = gvir_config_domain_hostdev_pci_new();
>> +    gvir_config_domain_hostdev_set_boot_order(GVIR_CONFIG_DOMAIN_HOSTDEV(hostdev), 1);
>> +    g_assert_cmpint(gvir_config_domain_hostdev_get_boot_order(GVIR_CONFIG_DOMAIN_HOSTDEV(hostdev)), ==, 1);
>> +    gvir_config_domain_hostdev_pci_set_managed(hostdev, TRUE);
>> +    g_assert(gvir_config_domain_hostdev_pci_get_managed(hostdev) == TRUE);
>> +    gvir_config_domain_hostdev_pci_set_rom_bar(hostdev, TRUE);
>> +    gvir_config_domain_hostdev_pci_set_rom_file(hostdev, "/etc/fake/boot.bin");
>> +    g_assert_cmpstr(gvir_config_domain_hostdev_pci_get_rom_file(hostdev), ==, "/etc/fake/boot.bin");
>> +    g_assert(gvir_config_domain_hostdev_pci_get_rom_bar(hostdev));
>> +
>> +    address = gvir_config_domain_address_pci_new();
>> +    gvir_config_domain_address_pci_set_domain(address, 1);
>> +    gvir_config_domain_address_pci_set_bus(address, 2);
>> +    gvir_config_domain_address_pci_set_slot(address, 3);
>> +    gvir_config_domain_address_pci_set_function(address, 4);
>> +    gvir_config_domain_hostdev_pci_set_address(hostdev, address);
>> +    g_object_unref(G_OBJECT(address));
>> +
>> +    address = gvir_config_domain_hostdev_pci_get_address(hostdev);
>> +    g_assert(address != NULL);
>> +    g_assert_cmpint(gvir_config_domain_address_pci_get_domain(address), ==, 1);
>> +    g_assert_cmpint(gvir_config_domain_address_pci_get_bus(address), ==, 2);
>> +    g_assert_cmpint(gvir_config_domain_address_pci_get_slot(address), ==, 3);
>> +    g_assert_cmpint(gvir_config_domain_address_pci_get_function(address), ==, 4);
>> +    g_object_unref(G_OBJECT(address));
>> +
>> +    gvir_config_domain_add_device(domain, GVIR_CONFIG_DOMAIN_DEVICE (hostdev));
>> +    g_object_unref(G_OBJECT(hostdev));
>> +
>> +    check_xml(domain, "gconfig-domain-device-pci-hostdev.xml");
>> +
>> +    g_object_unref(G_OBJECT(domain));
>> +}
>>
>>  int main(int argc, char **argv)
>>  {
>> @@ -739,6 +780,8 @@ int main(int argc, char **argv)
>>                      test_domain_device_channel);
>>      g_test_add_func("/libvirt-gconfig/domain-device-usb-redir",
>>                      test_domain_device_usb_redir);
>> +    g_test_add_func("/libvirt-gconfig/domain-device-pci-hostdev",
>> +                    test_domain_device_pci_hostdev);
>>
>>      return g_test_run();
>>  }
>> diff --git a/tests/xml/gconfig-domain-device-pci-hostdev.xml b/tests/xml/gconfig-domain-device-pci-hostdev.xml
>> new file mode 100644
>> index 0000000..70e32ac
>> --- /dev/null
>> +++ b/tests/xml/gconfig-domain-device-pci-hostdev.xml
>> @@ -0,0 +1,11 @@
>> +<domain>
>> +  <devices>
>> +    <hostdev mode="subsystem" type="pci" managed="yes">
>> +      <boot order="1"/>
>> +      <rom bar="on" file="/etc/fake/boot.bin"/>
>> +      <source>
>> +        <address domain="0x0001" bus="0x02" slot="0x03" function="0x4"/>
>> +      </source>
>> +    </hostdev>
>> +  </devices>
>> +</domain>
>> --
>> 2.5.5
>>
>> --
>> libvir-list mailing list
>> libvir-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list



-- 
Regards,

Zeeshan Ali (Khattak)




More information about the libvir-list mailing list