---
tests/test-gconfig.c | 30 +++++++++++++++++++++++++
tests/xml/gconfig-domain-device-pci-hostdev.xml | 11 +++++++++
2 files changed, 41 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..c3711f1 100644
--- a/tests/test-gconfig.c
+++ b/tests/test-gconfig.c
@@ -709,6 +709,34 @@ 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);
+ gvir_config_domain_hostdev_pci_set_managed(hostdev, TRUE);
+ gvir_config_domain_hostdev_pci_set_rom(hostdev, "/etc/fake/boot.bin",
TRUE);
+
+ 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));
+
+ 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 +767,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.0