[libvirt] [PATCHv5 5/5] Add test for GVirConfigDomainHostdevPci API
Christophe Fergeau
cfergeau at redhat.com
Mon Jul 18 15:01:06 UTC 2016
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
On Wed, Jul 06, 2016 at 10:45:55PM +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.7.4
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160718/82cfcb7a/attachment-0001.sig>
More information about the libvir-list
mailing list