summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-08-01 08:12:37 +0200
committerGuido Günther <agx@sigxcpu.org>2014-08-01 08:12:37 +0200
commit16575d9886c474a5c35308e4900a7fcf0d57dea7 (patch)
tree9b396828329b529101e05f3694cbcceda56b6114 /tests
parentab710a4bc80b419b99089e71eb5b1a3e32adc7a5 (diff)
New upstream version 1.2.7~rc2
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am48
-rw-r--r--tests/Makefile.in272
-rw-r--r--tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.args3
-rw-r--r--tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.xml22
-rw-r--r--tests/bhyvexml2argvtest.c1
-rw-r--r--tests/domaincapsschemadata/domaincaps-basic.xml10
-rw-r--r--tests/domaincapsschemadata/domaincaps-full.xml56
-rw-r--r--tests/domaincapsschemadata/domaincaps-qemu_1.6.50-1.xml45
-rwxr-xr-xtests/domaincapsschematest11
-rw-r--r--tests/domaincapstest.c194
-rw-r--r--tests/domainschemadata/domain-caps-features.xml28
-rwxr-xr-xtests/domainschematest3
-rw-r--r--tests/domainsnapshotxml2xmltest.c4
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-cputune.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-idmap.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml4
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-memtune.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml4
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml2
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config1
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml4
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-simple.xml9
-rw-r--r--tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml4
-rw-r--r--tests/lxcxml2xmldata/lxc-capabilities.xml34
-rw-r--r--tests/lxcxml2xmldata/lxc-idmap.xml1
-rw-r--r--tests/lxcxml2xmltest.c1
-rw-r--r--tests/metadatatest.c64
-rw-r--r--tests/nodedevschemadata/pci_8086_27c5_scsi_host_0_unique_id.xml8
-rw-r--r--tests/nodedevxml2xmltest.c1
-rw-r--r--tests/qemuargv2xmltest.c3
-rw-r--r--tests/qemucapabilitiesdata/caps_1.3.1-1.replies62
-rw-r--r--tests/qemucapabilitiesdata/caps_1.4.2-1.replies62
-rw-r--r--tests/qemucapabilitiesdata/caps_1.5.3-1.replies62
-rw-r--r--tests/qemucapabilitiesdata/caps_1.6.0-1.replies62
-rw-r--r--tests/qemucapabilitiesdata/caps_1.6.50-1.caps1
-rw-r--r--tests/qemucapabilitiesdata/caps_1.6.50-1.replies67
-rw-r--r--tests/qemucapabilitiestest.c57
-rw-r--r--tests/qemucaps2xmltest.c2
-rw-r--r--tests/qemumonitorjsontest.c69
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.args6
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.xml28
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml6
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml6
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml25
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml37
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args4
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml12
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.xml4
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml8
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args9
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml29
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args9
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.xml29
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args16
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.xml45
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args10
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.xml38
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args9
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.xml38
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-hugepages.args2
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args7
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml33
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml29
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.args8
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.xml30
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml25
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args11
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.xml33
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml31
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-none.xml28
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-seclabel-multiple.xml40
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args2
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.args10
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.xml31
-rw-r--r--tests/qemuxml2argvtest.c40
-rw-r--r--tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa1.xml28
-rw-r--r--tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa2.xml28
-rw-r--r--tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml4
-rw-r--r--tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml29
-rw-r--r--tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode.xml33
-rw-r--r--tests/qemuxml2xmltest.c16
-rw-r--r--tests/scsihosttest.c308
-rw-r--r--tests/statstest.c2
-rw-r--r--tests/storagepoolxml2xmlin/pool-netfs-gluster-without-slash.xml12
-rw-r--r--tests/storagepoolxml2xmlin/pool-scsi-type-scsi-host-stable.xml19
-rw-r--r--tests/storagepoolxml2xmlout/pool-scsi-type-scsi-host-stable.xml22
-rw-r--r--tests/storagepoolxml2xmltest.c1
-rw-r--r--tests/storagevolxml2argvdata/qcow2-nocow-compat.argv3
-rw-r--r--tests/storagevolxml2argvdata/qcow2-nocow.argv3
-rw-r--r--tests/storagevolxml2argvtest.c6
-rw-r--r--tests/storagevolxml2xmlin/vol-qcow2-nocow.xml32
-rw-r--r--tests/storagevolxml2xmlout/vol-qcow2-nocow.xml31
-rw-r--r--tests/testutils.c2
-rw-r--r--tests/testutilslxc.c2
-rw-r--r--tests/testutilsqemu.c55
-rw-r--r--tests/testutilsqemu.h3
-rw-r--r--tests/testutilsxen.c2
-rw-r--r--tests/virbitmaptest.c26
-rw-r--r--tests/vircaps2xmltest.c6
-rw-r--r--tests/vircapstest.c2
-rw-r--r--tests/virnettlshelpers.c4
-rw-r--r--tests/virstoragetest.c86
-rw-r--r--tests/virtimetest.c3
-rw-r--r--tests/vmx2xmltest.c2
-rw-r--r--tests/xml2vmxtest.c2
107 files changed, 2391 insertions, 400 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 025b847c8..3e710696a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -74,6 +74,8 @@ EXTRA_DIST = \
commanddata \
confdata \
cputestdata \
+ domaincapsschemadata \
+ domaincapsschematest \
domainconfdata \
domainschemadata \
domainschematest \
@@ -167,6 +169,7 @@ test_programs = virshtest sockettest \
virnetdevbandwidthtest \
virkmodtest \
vircapstest \
+ domaincapstest \
domainconftest \
virhostdevtest \
vircaps2xmltest \
@@ -185,6 +188,7 @@ endif WITH_REMOTE
if WITH_LINUX
test_programs += fchosttest
+test_programs += scsihosttest
endif WITH_LINUX
if WITH_LIBVIRTD
@@ -318,6 +322,7 @@ test_scripts = \
networkschematest \
storagepoolschematest \
storagevolschematest \
+ domaincapsschematest \
domainschematest \
nodedevschematest \
nwfilterschematest \
@@ -505,12 +510,11 @@ endif WITH_STORAGE
if WITH_DTRACE_PROBES
qemu_LDADDS += ../src/libvirt_qemu_probes.lo
endif WITH_DTRACE_PROBES
-qemu_LDADDS += $(LDADDS)
qemuxml2argvtest_SOURCES = \
qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
-qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LIBXML_LIBS)
+qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LDADDS) $(LIBXML_LIBS)
qemuxml2argvmock_la_SOURCES = \
qemuxml2argvmock.c
@@ -521,62 +525,64 @@ qemuxml2argvmock_la_LDFLAGS = -module -avoid-version \
qemuxml2xmltest_SOURCES = \
qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
-qemuxml2xmltest_LDADD = $(qemu_LDADDS)
+qemuxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemuxmlnstest_SOURCES = \
qemuxmlnstest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
-qemuxmlnstest_LDADD = $(qemu_LDADDS)
+qemuxmlnstest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemuargv2xmltest_SOURCES = \
qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
-qemuargv2xmltest_LDADD = $(qemu_LDADDS)
+qemuargv2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemuhelptest_SOURCES = qemuhelptest.c testutils.c testutils.h
-qemuhelptest_LDADD = $(qemu_LDADDS)
+qemuhelptest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemumonitortest_SOURCES = qemumonitortest.c testutils.c testutils.h
-qemumonitortest_LDADD = $(qemu_LDADDS)
+qemumonitortest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemumonitorjsontest_SOURCES = \
qemumonitorjsontest.c \
testutils.c testutils.h \
testutilsqemu.c testutilsqemu.h \
$(NULL)
-qemumonitorjsontest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+qemumonitorjsontest_LDADD = libqemumonitortestutils.la \
+ $(qemu_LDADDS) $(LDADDS)
qemucapabilitiestest_SOURCES = \
qemucapabilitiestest.c \
testutils.c testutils.h \
testutilsqemu.c testutilsqemu.h \
$(NULL)
-qemucapabilitiestest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+qemucapabilitiestest_LDADD = libqemumonitortestutils.la \
+ $(qemu_LDADDS) $(LDADDS)
qemucaps2xmltest_SOURCES = \
qemucaps2xmltest.c \
testutils.c testutils.h \
$(NULL)
-qemucaps2xmltest_LDADD = $(qemu_LDADDS)
+qemucaps2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
qemuagenttest_SOURCES = \
qemuagenttest.c \
testutils.c testutils.h \
testutilsqemu.c testutilsqemu.h \
$(NULL)
-qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS)
qemuhotplugtest_SOURCES = \
qemuhotplugtest.c \
testutils.c testutils.h \
testutilsqemu.c testutilsqemu.h \
$(NULL)
-qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS)
domainsnapshotxml2xmltest_SOURCES = \
domainsnapshotxml2xmltest.c testutilsqemu.c testutilsqemu.h \
testutils.c testutils.h
-domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS)
+domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
else ! WITH_QEMU
EXTRA_DIST += qemuxml2argvtest.c qemuxml2xmltest.c qemuargv2xmltest.c \
qemuxmlnstest.c qemuhelptest.c domainsnapshotxml2xmltest.c \
@@ -827,6 +833,15 @@ vircaps2xmltest_SOURCES = \
vircaps2xmltest.c testutils.h testutils.c
vircaps2xmltest_LDADD = $(LDADDS)
+domaincapstest_SOURCES = \
+ domaincapstest.c testutils.h testutils.c
+domaincapstest_LDADD = $(LDADDS)
+
+if WITH_QEMU
+domaincapstest_SOURCES += testutilsqemu.c testutilsqemu.h
+domaincapstest_LDADD += $(qemu_LDADDS) $(GNULIB_LIBS)
+endif WITH_QEMU
+
if WITH_LIBVIRTD
libvirtdconftest_SOURCES = \
libvirtdconftest.c testutils.h testutils.c \
@@ -1042,7 +1057,7 @@ if WITH_QEMU
securityselinuxlabeltest_SOURCES = \
securityselinuxlabeltest.c testutils.h testutils.c \
testutilsqemu.h testutilsqemu.c
-securityselinuxlabeltest_LDADD = $(qemu_LDADDS) $(SELINUX_LIBS)
+securityselinuxlabeltest_LDADD = $(qemu_LDADDS) $(LDADDS) $(SELINUX_LIBS)
securityselinuxlabeltest_DEPENDENCIES = libsecurityselinuxhelper.la \
../src/libvirt.la
endif WITH_QEMU
@@ -1132,8 +1147,13 @@ fchosttest_SOURCES = \
fchosttest.c testutils.h testutils.c
fchosttest_LDADD = $(LDADDS)
+scsihosttest_SOURCES = \
+ scsihosttest.c testutils.h testutils.c
+scsihosttest_LDADD = $(LDADDS)
+
else ! WITH_LINUX
EXTRA_DIST += fchosttest.c
+EXTRA_DIST += scsihosttest.c
endif ! WITH_LINUX
if WITH_LINUX
diff --git a/tests/Makefile.in b/tests/Makefile.in
index cbf7d17cd..8a699fba1 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -89,7 +89,7 @@ host_triplet = @host@
@WITH_REMOTE_TRUE@ $(NULL)
@WITH_GNUTLS_TRUE@@WITH_REMOTE_TRUE@am__append_4 = virnettlscontexttest virnettlssessiontest
-@WITH_LINUX_TRUE@am__append_5 = fchosttest
+@WITH_LINUX_TRUE@am__append_5 = fchosttest scsihosttest
@WITH_LIBVIRTD_TRUE@am__append_6 = fdstreamtest
@WITH_DBUS_TRUE@am__append_7 = virdbustest \
@WITH_DBUS_TRUE@ virsystemdtest
@@ -209,24 +209,27 @@ TESTS = $(am__EXEEXT_28) $(am__EXEEXT_31)
@WITH_NETWORK_FALSE@am__append_51 = networkxml2conftest.c
@WITH_STORAGE_SHEEPDOG_FALSE@am__append_52 = storagebackendsheepdogtest.c
@WITH_STORAGE_FALSE@am__append_53 = storagevolxml2argvtest.c
-@WITH_LIBVIRTD_FALSE@am__append_54 = libvirtdconftest.c
-@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_55 = pkix_asn1_tab.c
-@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_56 = -ltasn1
+@WITH_QEMU_TRUE@am__append_54 = testutilsqemu.c testutilsqemu.h
+@WITH_QEMU_TRUE@am__append_55 = $(qemu_LDADDS) $(GNULIB_LIBS)
+@WITH_LIBVIRTD_FALSE@am__append_56 = libvirtdconftest.c
@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_57 = pkix_asn1_tab.c
@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_58 = -ltasn1
-@HAVE_LIBTASN1_FALSE@@WITH_GNUTLS_TRUE@am__append_59 = pkix_asn1_tab.c
-@WITH_GNUTLS_FALSE@am__append_60 = \
+@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_59 = pkix_asn1_tab.c
+@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__append_60 = -ltasn1
+@HAVE_LIBTASN1_FALSE@@WITH_GNUTLS_TRUE@am__append_61 = pkix_asn1_tab.c
+@WITH_GNUTLS_FALSE@am__append_62 = \
@WITH_GNUTLS_FALSE@ virnettlscontexttest.c virnettlssessiontest.c \
@WITH_GNUTLS_FALSE@ virnettlshelpers.h virnettlshelpers.c \
@WITH_GNUTLS_FALSE@ testutils.h testutils.c pkix_asn1_tab.c
@WITH_SELINUX_FALSE@viridentitytest_DEPENDENCIES = \
@WITH_SELINUX_FALSE@ $(am__DEPENDENCIES_2)
-@WITH_DBUS_FALSE@am__append_61 = virdbustest.c virmockdbus.c virsystemdtest.c
-@WITH_ATTR_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@@WITH_TESTS_TRUE@am__append_62 = libsecurityselinuxhelper.la
-@WITH_ATTR_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@@WITH_TESTS_FALSE@am__append_63 = libsecurityselinuxhelper.la
-@WITH_LINUX_FALSE@am__append_64 = fchosttest.c virscsitest.c
-@WITH_CIL_FALSE@am__append_65 = objectlocking.ml
+@WITH_DBUS_FALSE@am__append_63 = virdbustest.c virmockdbus.c virsystemdtest.c
+@WITH_ATTR_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@@WITH_TESTS_TRUE@am__append_64 = libsecurityselinuxhelper.la
+@WITH_ATTR_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@@WITH_TESTS_FALSE@am__append_65 = libsecurityselinuxhelper.la
+@WITH_LINUX_FALSE@am__append_66 = fchosttest.c scsihosttest.c \
+@WITH_LINUX_FALSE@ virscsitest.c
+@WITH_CIL_FALSE@am__append_67 = objectlocking.ml
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/build-aux/mkinstalldirs \
@@ -520,7 +523,8 @@ virusbmock_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@WITH_REMOTE_TRUE@ virnetserverclienttest$(EXEEXT)
@WITH_GNUTLS_TRUE@@WITH_REMOTE_TRUE@am__EXEEXT_2 = virnettlscontexttest$(EXEEXT) \
@WITH_GNUTLS_TRUE@@WITH_REMOTE_TRUE@ virnettlssessiontest$(EXEEXT)
-@WITH_LINUX_TRUE@am__EXEEXT_3 = fchosttest$(EXEEXT)
+@WITH_LINUX_TRUE@am__EXEEXT_3 = fchosttest$(EXEEXT) \
+@WITH_LINUX_TRUE@ scsihosttest$(EXEEXT)
@WITH_LIBVIRTD_TRUE@am__EXEEXT_4 = fdstreamtest$(EXEEXT)
@WITH_DBUS_TRUE@am__EXEEXT_5 = virdbustest$(EXEEXT) \
@WITH_DBUS_TRUE@ virsystemdtest$(EXEEXT)
@@ -582,14 +586,15 @@ am__EXEEXT_28 = virshtest$(EXEEXT) sockettest$(EXEEXT) \
virstringtest$(EXEEXT) virportallocatortest$(EXEEXT) \
sysinfotest$(EXEEXT) virnetdevbandwidthtest$(EXEEXT) \
virkmodtest$(EXEEXT) vircapstest$(EXEEXT) \
- domainconftest$(EXEEXT) virhostdevtest$(EXEEXT) \
- vircaps2xmltest$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
- $(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5) \
- $(am__EXEEXT_6) $(am__EXEEXT_7) $(am__EXEEXT_8) \
- $(am__EXEEXT_9) $(am__EXEEXT_10) $(am__EXEEXT_11) \
- $(am__EXEEXT_12) $(am__EXEEXT_13) $(am__EXEEXT_14) \
- $(am__EXEEXT_15) $(am__EXEEXT_16) $(am__EXEEXT_17) \
- $(am__EXEEXT_18) $(am__EXEEXT_19) networkxml2xmltest$(EXEEXT) \
+ domaincapstest$(EXEEXT) domainconftest$(EXEEXT) \
+ virhostdevtest$(EXEEXT) vircaps2xmltest$(EXEEXT) \
+ $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+ $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \
+ $(am__EXEEXT_7) $(am__EXEEXT_8) $(am__EXEEXT_9) \
+ $(am__EXEEXT_10) $(am__EXEEXT_11) $(am__EXEEXT_12) \
+ $(am__EXEEXT_13) $(am__EXEEXT_14) $(am__EXEEXT_15) \
+ $(am__EXEEXT_16) $(am__EXEEXT_17) $(am__EXEEXT_18) \
+ $(am__EXEEXT_19) networkxml2xmltest$(EXEEXT) \
networkxml2xmlupdatetest$(EXEEXT) $(am__EXEEXT_20) \
$(am__EXEEXT_21) nwfilterxml2xmltest$(EXEEXT) $(am__EXEEXT_22) \
$(am__EXEEXT_23) $(am__EXEEXT_24) $(am__EXEEXT_25) \
@@ -636,6 +641,13 @@ commandtest_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_cputest_OBJECTS = cputest.$(OBJEXT) testutils.$(OBJEXT)
cputest_OBJECTS = $(am_cputest_OBJECTS)
cputest_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
+am__domaincapstest_SOURCES_DIST = domaincapstest.c testutils.h \
+ testutils.c testutilsqemu.c testutilsqemu.h
+@WITH_QEMU_TRUE@am__objects_2 = testutilsqemu.$(OBJEXT)
+am_domaincapstest_OBJECTS = domaincapstest.$(OBJEXT) \
+ testutils.$(OBJEXT) $(am__objects_2)
+domaincapstest_OBJECTS = $(am_domaincapstest_OBJECTS)
+domaincapstest_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__append_55)
am_domainconftest_OBJECTS = domainconftest.$(OBJEXT) \
testutils.$(OBJEXT)
domainconftest_OBJECTS = $(am_domainconftest_OBJECTS)
@@ -648,12 +660,8 @@ am__domainsnapshotxml2xmltest_SOURCES_DIST = \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT) testutils.$(OBJEXT)
domainsnapshotxml2xmltest_OBJECTS = \
$(am_domainsnapshotxml2xmltest_OBJECTS)
-@WITH_QEMU_TRUE@am__DEPENDENCIES_4 = \
-@WITH_QEMU_TRUE@ ../src/libvirt_driver_qemu_impl.la \
-@WITH_QEMU_TRUE@ $(am__append_39) $(am__append_40) \
-@WITH_QEMU_TRUE@ $(am__append_41) $(am__DEPENDENCIES_2)
@WITH_QEMU_TRUE@domainsnapshotxml2xmltest_DEPENDENCIES = \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@ $(qemu_LDADDS) $(am__DEPENDENCIES_2)
am__esxutilstest_SOURCES_DIST = esxutilstest.c testutils.c testutils.h
@WITH_ESX_TRUE@am_esxutilstest_OBJECTS = esxutilstest.$(OBJEXT) \
@WITH_ESX_TRUE@ testutils.$(OBJEXT)
@@ -693,15 +701,15 @@ am__lxcconf2xmltest_SOURCES_DIST = lxcconf2xmltest.c testutils.c \
@WITH_LXC_TRUE@am_lxcconf2xmltest_OBJECTS = lxcconf2xmltest.$(OBJEXT) \
@WITH_LXC_TRUE@ testutils.$(OBJEXT)
lxcconf2xmltest_OBJECTS = $(am_lxcconf2xmltest_OBJECTS)
-@WITH_LXC_TRUE@am__DEPENDENCIES_5 = ../src/libvirt_driver_lxc_impl.la \
+@WITH_LXC_TRUE@am__DEPENDENCIES_4 = ../src/libvirt_driver_lxc_impl.la \
@WITH_LXC_TRUE@ $(am__append_43) $(am__DEPENDENCIES_2)
-@WITH_LXC_TRUE@lxcconf2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_5)
+@WITH_LXC_TRUE@lxcconf2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_4)
am__lxcxml2xmltest_SOURCES_DIST = lxcxml2xmltest.c testutilslxc.c \
testutilslxc.h testutils.c testutils.h
@WITH_LXC_TRUE@am_lxcxml2xmltest_OBJECTS = lxcxml2xmltest.$(OBJEXT) \
@WITH_LXC_TRUE@ testutilslxc.$(OBJEXT) testutils.$(OBJEXT)
lxcxml2xmltest_OBJECTS = $(am_lxcxml2xmltest_OBJECTS)
-@WITH_LXC_TRUE@lxcxml2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_5)
+@WITH_LXC_TRUE@lxcxml2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_4)
am_metadatatest_OBJECTS = metadatatest.$(OBJEXT) testutils.$(OBJEXT)
metadatatest_OBJECTS = $(am_metadatatest_OBJECTS)
metadatatest_DEPENDENCIES = $(am__DEPENDENCIES_2) \
@@ -786,15 +794,16 @@ am__qemuagenttest_SOURCES_DIST = qemuagenttest.c testutils.c \
@WITH_QEMU_TRUE@ testutils.$(OBJEXT) testutilsqemu.$(OBJEXT)
qemuagenttest_OBJECTS = $(am_qemuagenttest_OBJECTS)
@WITH_QEMU_TRUE@qemuagenttest_DEPENDENCIES = \
-@WITH_QEMU_TRUE@ libqemumonitortestutils.la \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@ libqemumonitortestutils.la $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemuargv2xmltest_SOURCES_DIST = qemuargv2xmltest.c testutilsqemu.c \
testutilsqemu.h testutils.c testutils.h
@WITH_QEMU_TRUE@am_qemuargv2xmltest_OBJECTS = \
@WITH_QEMU_TRUE@ qemuargv2xmltest.$(OBJEXT) \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT) testutils.$(OBJEXT)
qemuargv2xmltest_OBJECTS = $(am_qemuargv2xmltest_OBJECTS)
-@WITH_QEMU_TRUE@qemuargv2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemuargv2xmltest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemucapabilitiestest_SOURCES_DIST = qemucapabilitiestest.c \
testutils.c testutils.h testutilsqemu.c testutilsqemu.h
@WITH_QEMU_TRUE@am_qemucapabilitiestest_OBJECTS = \
@@ -802,19 +811,21 @@ am__qemucapabilitiestest_SOURCES_DIST = qemucapabilitiestest.c \
@WITH_QEMU_TRUE@ testutils.$(OBJEXT) testutilsqemu.$(OBJEXT)
qemucapabilitiestest_OBJECTS = $(am_qemucapabilitiestest_OBJECTS)
@WITH_QEMU_TRUE@qemucapabilitiestest_DEPENDENCIES = \
-@WITH_QEMU_TRUE@ libqemumonitortestutils.la \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@ libqemumonitortestutils.la $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemucaps2xmltest_SOURCES_DIST = qemucaps2xmltest.c testutils.c \
testutils.h
@WITH_QEMU_TRUE@am_qemucaps2xmltest_OBJECTS = \
@WITH_QEMU_TRUE@ qemucaps2xmltest.$(OBJEXT) testutils.$(OBJEXT)
qemucaps2xmltest_OBJECTS = $(am_qemucaps2xmltest_OBJECTS)
-@WITH_QEMU_TRUE@qemucaps2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemucaps2xmltest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemuhelptest_SOURCES_DIST = qemuhelptest.c testutils.c testutils.h
@WITH_QEMU_TRUE@am_qemuhelptest_OBJECTS = qemuhelptest.$(OBJEXT) \
@WITH_QEMU_TRUE@ testutils.$(OBJEXT)
qemuhelptest_OBJECTS = $(am_qemuhelptest_OBJECTS)
-@WITH_QEMU_TRUE@qemuhelptest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemuhelptest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemuhotplugtest_SOURCES_DIST = qemuhotplugtest.c testutils.c \
testutils.h testutilsqemu.c testutilsqemu.h
@WITH_QEMU_TRUE@am_qemuhotplugtest_OBJECTS = \
@@ -822,8 +833,8 @@ am__qemuhotplugtest_SOURCES_DIST = qemuhotplugtest.c testutils.c \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT)
qemuhotplugtest_OBJECTS = $(am_qemuhotplugtest_OBJECTS)
@WITH_QEMU_TRUE@qemuhotplugtest_DEPENDENCIES = \
-@WITH_QEMU_TRUE@ libqemumonitortestutils.la \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@ libqemumonitortestutils.la $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemumonitorjsontest_SOURCES_DIST = qemumonitorjsontest.c \
testutils.c testutils.h testutilsqemu.c testutilsqemu.h
@WITH_QEMU_TRUE@am_qemumonitorjsontest_OBJECTS = \
@@ -831,40 +842,48 @@ am__qemumonitorjsontest_SOURCES_DIST = qemumonitorjsontest.c \
@WITH_QEMU_TRUE@ testutils.$(OBJEXT) testutilsqemu.$(OBJEXT)
qemumonitorjsontest_OBJECTS = $(am_qemumonitorjsontest_OBJECTS)
@WITH_QEMU_TRUE@qemumonitorjsontest_DEPENDENCIES = \
-@WITH_QEMU_TRUE@ libqemumonitortestutils.la \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@ libqemumonitortestutils.la $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemumonitortest_SOURCES_DIST = qemumonitortest.c testutils.c \
testutils.h
@WITH_QEMU_TRUE@am_qemumonitortest_OBJECTS = \
@WITH_QEMU_TRUE@ qemumonitortest.$(OBJEXT) testutils.$(OBJEXT)
qemumonitortest_OBJECTS = $(am_qemumonitortest_OBJECTS)
-@WITH_QEMU_TRUE@qemumonitortest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemumonitortest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemuxml2argvtest_SOURCES_DIST = qemuxml2argvtest.c testutilsqemu.c \
testutilsqemu.h testutils.c testutils.h
@WITH_QEMU_TRUE@am_qemuxml2argvtest_OBJECTS = \
@WITH_QEMU_TRUE@ qemuxml2argvtest.$(OBJEXT) \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT) testutils.$(OBJEXT)
qemuxml2argvtest_OBJECTS = $(am_qemuxml2argvtest_OBJECTS)
-@WITH_QEMU_TRUE@qemuxml2argvtest_DEPENDENCIES = $(am__DEPENDENCIES_4) \
-@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_1)
+@WITH_QEMU_TRUE@qemuxml2argvtest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
am__qemuxml2xmltest_SOURCES_DIST = qemuxml2xmltest.c testutilsqemu.c \
testutilsqemu.h testutils.c testutils.h
@WITH_QEMU_TRUE@am_qemuxml2xmltest_OBJECTS = \
@WITH_QEMU_TRUE@ qemuxml2xmltest.$(OBJEXT) \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT) testutils.$(OBJEXT)
qemuxml2xmltest_OBJECTS = $(am_qemuxml2xmltest_OBJECTS)
-@WITH_QEMU_TRUE@qemuxml2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemuxml2xmltest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__qemuxmlnstest_SOURCES_DIST = qemuxmlnstest.c testutilsqemu.c \
testutilsqemu.h testutils.c testutils.h
@WITH_QEMU_TRUE@am_qemuxmlnstest_OBJECTS = qemuxmlnstest.$(OBJEXT) \
@WITH_QEMU_TRUE@ testutilsqemu.$(OBJEXT) testutils.$(OBJEXT)
qemuxmlnstest_OBJECTS = $(am_qemuxmlnstest_OBJECTS)
-@WITH_QEMU_TRUE@qemuxmlnstest_DEPENDENCIES = $(am__DEPENDENCIES_4)
+@WITH_QEMU_TRUE@qemuxmlnstest_DEPENDENCIES = $(qemu_LDADDS) \
+@WITH_QEMU_TRUE@ $(am__DEPENDENCIES_2)
am__reconnect_SOURCES_DIST = reconnect.c testutils.h testutils.c
@WITH_XEN_TRUE@am_reconnect_OBJECTS = reconnect.$(OBJEXT) \
@WITH_XEN_TRUE@ testutils.$(OBJEXT)
reconnect_OBJECTS = $(am_reconnect_OBJECTS)
@WITH_XEN_TRUE@reconnect_DEPENDENCIES = $(am__DEPENDENCIES_2)
+am__scsihosttest_SOURCES_DIST = scsihosttest.c testutils.h testutils.c
+@WITH_LINUX_TRUE@am_scsihosttest_OBJECTS = scsihosttest.$(OBJEXT) \
+@WITH_LINUX_TRUE@ testutils.$(OBJEXT)
+scsihosttest_OBJECTS = $(am_scsihosttest_OBJECTS)
+@WITH_LINUX_TRUE@scsihosttest_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_seclabeltest_OBJECTS = seclabeltest.$(OBJEXT)
seclabeltest_OBJECTS = $(am_seclabeltest_OBJECTS)
seclabeltest_DEPENDENCIES = $(am__DEPENDENCIES_2)
@@ -890,9 +909,9 @@ am__sexpr2xmltest_SOURCES_DIST = sexpr2xmltest.c testutilsxen.c \
@WITH_XEN_TRUE@am_sexpr2xmltest_OBJECTS = sexpr2xmltest.$(OBJEXT) \
@WITH_XEN_TRUE@ testutilsxen.$(OBJEXT) testutils.$(OBJEXT)
sexpr2xmltest_OBJECTS = $(am_sexpr2xmltest_OBJECTS)
-@WITH_XEN_TRUE@am__DEPENDENCIES_6 = ../src/libvirt_driver_xen_impl.la \
+@WITH_XEN_TRUE@am__DEPENDENCIES_5 = ../src/libvirt_driver_xen_impl.la \
@WITH_XEN_TRUE@ $(am__DEPENDENCIES_2)
-@WITH_XEN_TRUE@sexpr2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_6)
+@WITH_XEN_TRUE@sexpr2xmltest_DEPENDENCIES = $(am__DEPENDENCIES_5)
am_shunloadtest_OBJECTS = shunloadtest.$(OBJEXT)
shunloadtest_OBJECTS = $(am_shunloadtest_OBJECTS)
am_sockettest_OBJECTS = sockettest.$(OBJEXT) testutils.$(OBJEXT)
@@ -905,7 +924,7 @@ am__statstest_SOURCES_DIST = statstest.c testutils.h testutils.c
@WITH_XEN_TRUE@am_statstest_OBJECTS = statstest.$(OBJEXT) \
@WITH_XEN_TRUE@ testutils.$(OBJEXT)
statstest_OBJECTS = $(am_statstest_OBJECTS)
-@WITH_XEN_TRUE@statstest_DEPENDENCIES = $(am__DEPENDENCIES_6)
+@WITH_XEN_TRUE@statstest_DEPENDENCIES = $(am__DEPENDENCIES_5)
am__storagebackendsheepdogtest_SOURCES_DIST = \
storagebackendsheepdogtest.c testutils.c testutils.h
@WITH_STORAGE_SHEEPDOG_TRUE@am_storagebackendsheepdogtest_OBJECTS = storagebackendsheepdogtest.$(OBJEXT) \
@@ -1073,12 +1092,12 @@ virnetsockettest_DEPENDENCIES = $(am__DEPENDENCIES_2)
am__virnettlscontexttest_SOURCES_DIST = virnettlscontexttest.c \
virnettlshelpers.h virnettlshelpers.c testutils.h testutils.c \
pkix_asn1_tab.c
-@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__objects_2 = \
+@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@am__objects_3 = \
@HAVE_LIBTASN1_TRUE@@WITH_GNUTLS_TRUE@ pkix_asn1_tab.$(OBJEXT)
@WITH_GNUTLS_TRUE@am_virnettlscontexttest_OBJECTS = \
@WITH_GNUTLS_TRUE@ virnettlscontexttest.$(OBJEXT) \
@WITH_GNUTLS_TRUE@ virnettlshelpers.$(OBJEXT) \
-@WITH_GNUTLS_TRUE@ testutils.$(OBJEXT) $(am__objects_2)
+@WITH_GNUTLS_TRUE@ testutils.$(OBJEXT) $(am__objects_3)
virnettlscontexttest_OBJECTS = $(am_virnettlscontexttest_OBJECTS)
@WITH_GNUTLS_TRUE@virnettlscontexttest_DEPENDENCIES = \
@WITH_GNUTLS_TRUE@ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -1089,7 +1108,7 @@ am__virnettlssessiontest_SOURCES_DIST = virnettlssessiontest.c \
@WITH_GNUTLS_TRUE@am_virnettlssessiontest_OBJECTS = \
@WITH_GNUTLS_TRUE@ virnettlssessiontest.$(OBJEXT) \
@WITH_GNUTLS_TRUE@ virnettlshelpers.$(OBJEXT) \
-@WITH_GNUTLS_TRUE@ testutils.$(OBJEXT) $(am__objects_2)
+@WITH_GNUTLS_TRUE@ testutils.$(OBJEXT) $(am__objects_3)
virnettlssessiontest_OBJECTS = $(am_virnettlssessiontest_OBJECTS)
@WITH_GNUTLS_TRUE@virnettlssessiontest_DEPENDENCIES = \
@WITH_GNUTLS_TRUE@ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
@@ -1156,19 +1175,19 @@ am__xencapstest_SOURCES_DIST = xencapstest.c testutils.h testutils.c
@WITH_XEN_TRUE@am_xencapstest_OBJECTS = xencapstest.$(OBJEXT) \
@WITH_XEN_TRUE@ testutils.$(OBJEXT)
xencapstest_OBJECTS = $(am_xencapstest_OBJECTS)
-@WITH_XEN_TRUE@xencapstest_DEPENDENCIES = $(am__DEPENDENCIES_6)
+@WITH_XEN_TRUE@xencapstest_DEPENDENCIES = $(am__DEPENDENCIES_5)
am__xmconfigtest_SOURCES_DIST = xmconfigtest.c testutilsxen.c \
testutilsxen.h testutils.c testutils.h
@WITH_XEN_TRUE@am_xmconfigtest_OBJECTS = xmconfigtest.$(OBJEXT) \
@WITH_XEN_TRUE@ testutilsxen.$(OBJEXT) testutils.$(OBJEXT)
xmconfigtest_OBJECTS = $(am_xmconfigtest_OBJECTS)
-@WITH_XEN_TRUE@xmconfigtest_DEPENDENCIES = $(am__DEPENDENCIES_6)
+@WITH_XEN_TRUE@xmconfigtest_DEPENDENCIES = $(am__DEPENDENCIES_5)
am__xml2sexprtest_SOURCES_DIST = xml2sexprtest.c testutilsxen.c \
testutilsxen.h testutils.c testutils.h
@WITH_XEN_TRUE@am_xml2sexprtest_OBJECTS = xml2sexprtest.$(OBJEXT) \
@WITH_XEN_TRUE@ testutilsxen.$(OBJEXT) testutils.$(OBJEXT)
xml2sexprtest_OBJECTS = $(am_xml2sexprtest_OBJECTS)
-@WITH_XEN_TRUE@xml2sexprtest_DEPENDENCIES = $(am__DEPENDENCIES_6)
+@WITH_XEN_TRUE@xml2sexprtest_DEPENDENCIES = $(am__DEPENDENCIES_5)
am__xml2vmxtest_SOURCES_DIST = xml2vmxtest.c testutils.c testutils.h
@WITH_VMX_TRUE@am_xml2vmxtest_OBJECTS = xml2vmxtest.$(OBJEXT) \
@WITH_VMX_TRUE@ testutils.$(OBJEXT)
@@ -1218,13 +1237,14 @@ SOURCES = $(bhyvexml2argvmock_la_SOURCES) \
$(virpcimock_la_SOURCES) $(virusbmock_la_SOURCES) \
$(bhyvexml2argvtest_SOURCES) $(bhyvexml2xmltest_SOURCES) \
$(commandhelper_SOURCES) $(commandtest_SOURCES) \
- $(cputest_SOURCES) $(domainconftest_SOURCES) \
- $(domainsnapshotxml2xmltest_SOURCES) $(esxutilstest_SOURCES) \
- $(eventtest_SOURCES) $(fchosttest_SOURCES) \
- $(fdstreamtest_SOURCES) $(interfacexml2xmltest_SOURCES) \
- $(jsontest_SOURCES) $(libvirtdconftest_SOURCES) \
- $(lxcconf2xmltest_SOURCES) $(lxcxml2xmltest_SOURCES) \
- $(metadatatest_SOURCES) $(networkxml2conftest_SOURCES) \
+ $(cputest_SOURCES) $(domaincapstest_SOURCES) \
+ $(domainconftest_SOURCES) $(domainsnapshotxml2xmltest_SOURCES) \
+ $(esxutilstest_SOURCES) $(eventtest_SOURCES) \
+ $(fchosttest_SOURCES) $(fdstreamtest_SOURCES) \
+ $(interfacexml2xmltest_SOURCES) $(jsontest_SOURCES) \
+ $(libvirtdconftest_SOURCES) $(lxcconf2xmltest_SOURCES) \
+ $(lxcxml2xmltest_SOURCES) $(metadatatest_SOURCES) \
+ $(networkxml2conftest_SOURCES) \
$(networkxml2firewalltest_SOURCES) \
$(networkxml2xmltest_SOURCES) \
$(networkxml2xmlupdatetest_SOURCES) \
@@ -1239,7 +1259,8 @@ SOURCES = $(bhyvexml2argvmock_la_SOURCES) \
$(qemumonitorjsontest_SOURCES) $(qemumonitortest_SOURCES) \
$(qemuxml2argvtest_SOURCES) $(qemuxml2xmltest_SOURCES) \
$(qemuxmlnstest_SOURCES) $(reconnect_SOURCES) \
- $(seclabeltest_SOURCES) $(secretxml2xmltest_SOURCES) \
+ $(scsihosttest_SOURCES) $(seclabeltest_SOURCES) \
+ $(secretxml2xmltest_SOURCES) \
$(securityselinuxlabeltest_SOURCES) \
$(securityselinuxtest_SOURCES) $(sexpr2xmltest_SOURCES) \
$(shunloadtest_SOURCES) $(sockettest_SOURCES) $(ssh_SOURCES) \
@@ -1284,7 +1305,7 @@ DIST_SOURCES = $(am__bhyvexml2argvmock_la_SOURCES_DIST) \
$(am__bhyvexml2argvtest_SOURCES_DIST) \
$(am__bhyvexml2xmltest_SOURCES_DIST) $(commandhelper_SOURCES) \
$(commandtest_SOURCES) $(cputest_SOURCES) \
- $(domainconftest_SOURCES) \
+ $(am__domaincapstest_SOURCES_DIST) $(domainconftest_SOURCES) \
$(am__domainsnapshotxml2xmltest_SOURCES_DIST) \
$(am__esxutilstest_SOURCES_DIST) $(am__eventtest_SOURCES_DIST) \
$(am__fchosttest_SOURCES_DIST) $(fdstreamtest_SOURCES) \
@@ -1313,8 +1334,8 @@ DIST_SOURCES = $(am__bhyvexml2argvmock_la_SOURCES_DIST) \
$(am__qemuxml2argvtest_SOURCES_DIST) \
$(am__qemuxml2xmltest_SOURCES_DIST) \
$(am__qemuxmlnstest_SOURCES_DIST) \
- $(am__reconnect_SOURCES_DIST) $(seclabeltest_SOURCES) \
- $(secretxml2xmltest_SOURCES) \
+ $(am__reconnect_SOURCES_DIST) $(am__scsihosttest_SOURCES_DIST) \
+ $(seclabeltest_SOURCES) $(secretxml2xmltest_SOURCES) \
$(am__securityselinuxlabeltest_SOURCES_DIST) \
$(am__securityselinuxtest_SOURCES_DIST) \
$(am__sexpr2xmltest_SOURCES_DIST) $(shunloadtest_SOURCES) \
@@ -1570,9 +1591,9 @@ AM_RECURSIVE_TARGETS = check recheck
@WITH_LIBVIRTD_TRUE@ virsh-synopsis virsh-undefine
am__EXEEXT_31 = capabilityschematest interfaceschematest \
networkschematest storagepoolschematest storagevolschematest \
- domainschematest nodedevschematest nwfilterschematest \
- domainsnapshotschematest secretschematest $(am__EXEEXT_30) \
- $(am__append_32)
+ domaincapsschematest domainschematest nodedevschematest \
+ nwfilterschematest domainsnapshotschematest secretschematest \
+ $(am__EXEEXT_30) $(am__append_32)
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
@@ -3068,7 +3089,8 @@ LDADDS = \
EXTRA_DIST = bhyvexml2argvdata bhyvexml2xmloutdata \
capabilityschemadata capabilityschematest commanddata confdata \
- cputestdata domainconfdata domainschemadata domainschematest \
+ cputestdata domaincapsschemadata domaincapsschematest \
+ domainconfdata domainschemadata domainschematest \
domainsnapshotschematest domainsnapshotxml2xmlin \
domainsnapshotxml2xmlout fchostdata interfaceschemadata \
lxcconf2xmldata lxcxml2xmldata lxcxml2xmloutdata \
@@ -3095,10 +3117,10 @@ EXTRA_DIST = bhyvexml2argvdata bhyvexml2xmloutdata \
$(am__append_45) openvzutilstest.conf $(am__append_46) \
$(am__append_47) $(am__append_48) $(am__append_49) \
$(am__append_50) $(am__append_51) $(am__append_52) \
- $(am__append_53) $(am__append_54) $(am__append_59) \
- $(am__append_60) $(am__append_61) securityselinuxtest.c \
+ $(am__append_53) $(am__append_56) $(am__append_61) \
+ $(am__append_62) $(am__append_63) securityselinuxtest.c \
securityselinuxlabeltest.c securityselinuxhelper.c \
- $(am__append_64) $(am__append_65)
+ $(am__append_66) $(am__append_67)
test_helpers = commandhelper ssh test_conf
test_programs = virshtest sockettest nodeinfotest virbuftest \
commandtest seclabeltest virhashtest viratomictest utiltest \
@@ -3107,16 +3129,16 @@ test_programs = virshtest sockettest nodeinfotest virbuftest \
vircryptotest virpcitest virendiantest virfiletest \
virfirewalltest viriscsitest virkeycodetest virlockspacetest \
virlogtest virstringtest virportallocatortest sysinfotest \
- virnetdevbandwidthtest virkmodtest vircapstest domainconftest \
- virhostdevtest vircaps2xmltest $(NULL) $(am__append_3) \
- $(am__append_4) $(am__append_5) $(am__append_6) \
- $(am__append_7) $(am__append_8) $(am__append_9) \
- $(am__append_10) $(am__append_11) $(am__append_12) \
- $(am__append_13) $(am__append_14) $(am__append_15) \
- $(am__append_16) $(am__append_17) $(am__append_18) \
- $(am__append_19) $(am__append_20) $(am__append_21) \
- networkxml2xmltest networkxml2xmlupdatetest $(NULL) \
- $(am__append_22) $(am__append_23) nwfilterxml2xmltest \
+ virnetdevbandwidthtest virkmodtest vircapstest domaincapstest \
+ domainconftest virhostdevtest vircaps2xmltest $(NULL) \
+ $(am__append_3) $(am__append_4) $(am__append_5) \
+ $(am__append_6) $(am__append_7) $(am__append_8) \
+ $(am__append_9) $(am__append_10) $(am__append_11) \
+ $(am__append_12) $(am__append_13) $(am__append_14) \
+ $(am__append_15) $(am__append_16) $(am__append_17) \
+ $(am__append_18) $(am__append_19) $(am__append_20) \
+ $(am__append_21) networkxml2xmltest networkxml2xmlupdatetest \
+ $(NULL) $(am__append_22) $(am__append_23) nwfilterxml2xmltest \
$(am__append_24) $(am__append_25) $(am__append_26) \
$(am__append_27) storagevolxml2xmltest storagepoolxml2xmltest \
nodedevxml2xmltest interfacexml2xmltest cputest metadatatest \
@@ -3128,17 +3150,17 @@ ssh_SOURCES = ssh.c
ssh_LDADD = $(COVERAGE_LDFLAGS)
test_scripts = capabilityschematest interfaceschematest \
networkschematest storagepoolschematest storagevolschematest \
- domainschematest nodedevschematest nwfilterschematest \
- domainsnapshotschematest secretschematest $(am__append_29) \
- $(am__append_32)
+ domaincapsschematest domainschematest nodedevschematest \
+ nwfilterschematest domainsnapshotschematest secretschematest \
+ $(am__append_29) $(am__append_32)
test_libraries = libshunload.la libvirportallocatormock.la \
virnetserverclientmock.la vircgroupmock.la virpcimock.la \
$(NULL) $(am__append_34) $(am__append_35) $(am__append_36) \
$(am__append_37)
@WITH_TESTS_TRUE@noinst_LTLIBRARIES = $(test_libraries) \
-@WITH_TESTS_TRUE@ $(am__append_62)
+@WITH_TESTS_TRUE@ $(am__append_64)
@WITH_TESTS_FALSE@check_LTLIBRARIES = $(test_libraries) \
-@WITH_TESTS_FALSE@ $(am__append_63)
+@WITH_TESTS_FALSE@ $(am__append_65)
# NB, automake < 1.10 does not provide the real
# abs_top_{src/build}dir or builddir variables, so don't rely
@@ -3208,12 +3230,12 @@ QEMUMONITORTESTUTILS_SOURCES = \
@WITH_QEMU_TRUE@libqemumonitortestutils_la_SOURCES = $(QEMUMONITORTESTUTILS_SOURCES)
@WITH_QEMU_TRUE@qemu_LDADDS = ../src/libvirt_driver_qemu_impl.la \
@WITH_QEMU_TRUE@ $(am__append_39) $(am__append_40) \
-@WITH_QEMU_TRUE@ $(am__append_41) $(LDADDS)
+@WITH_QEMU_TRUE@ $(am__append_41)
@WITH_QEMU_TRUE@qemuxml2argvtest_SOURCES = \
@WITH_QEMU_TRUE@ qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ testutils.c testutils.h
-@WITH_QEMU_TRUE@qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LIBXML_LIBS)
+@WITH_QEMU_TRUE@qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LDADDS) $(LIBXML_LIBS)
@WITH_QEMU_TRUE@qemuxml2argvmock_la_SOURCES = \
@WITH_QEMU_TRUE@ qemuxml2argvmock.c
@@ -3225,60 +3247,64 @@ QEMUMONITORTESTUTILS_SOURCES = \
@WITH_QEMU_TRUE@ qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ testutils.c testutils.h
-@WITH_QEMU_TRUE@qemuxml2xmltest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemuxmlnstest_SOURCES = \
@WITH_QEMU_TRUE@ qemuxmlnstest.c testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ testutils.c testutils.h
-@WITH_QEMU_TRUE@qemuxmlnstest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuxmlnstest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemuargv2xmltest_SOURCES = \
@WITH_QEMU_TRUE@ qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ testutils.c testutils.h
-@WITH_QEMU_TRUE@qemuargv2xmltest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuargv2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemuhelptest_SOURCES = qemuhelptest.c testutils.c testutils.h
-@WITH_QEMU_TRUE@qemuhelptest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuhelptest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemumonitortest_SOURCES = qemumonitortest.c testutils.c testutils.h
-@WITH_QEMU_TRUE@qemumonitortest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemumonitortest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemumonitorjsontest_SOURCES = \
@WITH_QEMU_TRUE@ qemumonitorjsontest.c \
@WITH_QEMU_TRUE@ testutils.c testutils.h \
@WITH_QEMU_TRUE@ testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ $(NULL)
-@WITH_QEMU_TRUE@qemumonitorjsontest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemumonitorjsontest_LDADD = libqemumonitortestutils.la \
+@WITH_QEMU_TRUE@ $(qemu_LDADDS) $(LDADDS)
+
@WITH_QEMU_TRUE@qemucapabilitiestest_SOURCES = \
@WITH_QEMU_TRUE@ qemucapabilitiestest.c \
@WITH_QEMU_TRUE@ testutils.c testutils.h \
@WITH_QEMU_TRUE@ testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ $(NULL)
-@WITH_QEMU_TRUE@qemucapabilitiestest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemucapabilitiestest_LDADD = libqemumonitortestutils.la \
+@WITH_QEMU_TRUE@ $(qemu_LDADDS) $(LDADDS)
+
@WITH_QEMU_TRUE@qemucaps2xmltest_SOURCES = \
@WITH_QEMU_TRUE@ qemucaps2xmltest.c \
@WITH_QEMU_TRUE@ testutils.c testutils.h \
@WITH_QEMU_TRUE@ $(NULL)
-@WITH_QEMU_TRUE@qemucaps2xmltest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemucaps2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemuagenttest_SOURCES = \
@WITH_QEMU_TRUE@ qemuagenttest.c \
@WITH_QEMU_TRUE@ testutils.c testutils.h \
@WITH_QEMU_TRUE@ testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ $(NULL)
-@WITH_QEMU_TRUE@qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuagenttest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@qemuhotplugtest_SOURCES = \
@WITH_QEMU_TRUE@ qemuhotplugtest.c \
@WITH_QEMU_TRUE@ testutils.c testutils.h \
@WITH_QEMU_TRUE@ testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ $(NULL)
-@WITH_QEMU_TRUE@qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS)
+@WITH_QEMU_TRUE@qemuhotplugtest_LDADD = libqemumonitortestutils.la $(qemu_LDADDS) $(LDADDS)
@WITH_QEMU_TRUE@domainsnapshotxml2xmltest_SOURCES = \
@WITH_QEMU_TRUE@ domainsnapshotxml2xmltest.c testutilsqemu.c testutilsqemu.h \
@WITH_QEMU_TRUE@ testutils.c testutils.h
-@WITH_QEMU_TRUE@domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS)
+@WITH_QEMU_TRUE@domainsnapshotxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
@WITH_LXC_TRUE@lxc_LDADDS = ../src/libvirt_driver_lxc_impl.la \
@WITH_LXC_TRUE@ $(am__append_43) $(LDADDS)
@WITH_LXC_TRUE@lxcxml2xmltest_SOURCES = \
@@ -3472,6 +3498,9 @@ vircaps2xmltest_SOURCES = \
vircaps2xmltest.c testutils.h testutils.c
vircaps2xmltest_LDADD = $(LDADDS)
+domaincapstest_SOURCES = domaincapstest.c testutils.h testutils.c \
+ $(am__append_54)
+domaincapstest_LDADD = $(LDADDS) $(am__append_55)
@WITH_LIBVIRTD_TRUE@libvirtdconftest_SOURCES = \
@WITH_LIBVIRTD_TRUE@ libvirtdconftest.c testutils.h testutils.c \
@WITH_LIBVIRTD_TRUE@ $(NULL)
@@ -3502,15 +3531,15 @@ virnetserverclientmock_la_LDFLAGS = -module -avoid-version \
@WITH_GNUTLS_TRUE@virnettlscontexttest_SOURCES = \
@WITH_GNUTLS_TRUE@ virnettlscontexttest.c virnettlshelpers.h \
@WITH_GNUTLS_TRUE@ virnettlshelpers.c testutils.h testutils.c \
-@WITH_GNUTLS_TRUE@ $(am__append_55)
+@WITH_GNUTLS_TRUE@ $(am__append_57)
@WITH_GNUTLS_TRUE@virnettlscontexttest_LDADD = $(LDADDS) \
-@WITH_GNUTLS_TRUE@ $(GNUTLS_LIBS) $(am__append_56)
+@WITH_GNUTLS_TRUE@ $(GNUTLS_LIBS) $(am__append_58)
@WITH_GNUTLS_TRUE@virnettlssessiontest_SOURCES = \
@WITH_GNUTLS_TRUE@ virnettlssessiontest.c virnettlshelpers.h \
@WITH_GNUTLS_TRUE@ virnettlshelpers.c testutils.h testutils.c \
-@WITH_GNUTLS_TRUE@ $(am__append_57)
+@WITH_GNUTLS_TRUE@ $(am__append_59)
@WITH_GNUTLS_TRUE@virnettlssessiontest_LDADD = $(LDADDS) \
-@WITH_GNUTLS_TRUE@ $(GNUTLS_LIBS) $(am__append_58)
+@WITH_GNUTLS_TRUE@ $(GNUTLS_LIBS) $(am__append_60)
virtimetest_SOURCES = \
virtimetest.c testutils.h testutils.c
@@ -3660,7 +3689,7 @@ seclabeltest_LDADD = $(LDADDS)
@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@ securityselinuxlabeltest.c testutils.h testutils.c \
@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@ testutilsqemu.h testutilsqemu.c
-@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@securityselinuxlabeltest_LDADD = $(qemu_LDADDS) $(SELINUX_LIBS)
+@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@securityselinuxlabeltest_LDADD = $(qemu_LDADDS) $(LDADDS) $(SELINUX_LIBS)
@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@securityselinuxlabeltest_DEPENDENCIES = libsecurityselinuxhelper.la \
@WITH_ATTR_TRUE@@WITH_QEMU_TRUE@@WITH_SECDRIVER_SELINUX_TRUE@ ../src/libvirt.la
@@ -3740,6 +3769,10 @@ objecteventtest_LDADD = $(LDADDS)
@WITH_LINUX_TRUE@ fchosttest.c testutils.h testutils.c
@WITH_LINUX_TRUE@fchosttest_LDADD = $(LDADDS)
+@WITH_LINUX_TRUE@scsihosttest_SOURCES = \
+@WITH_LINUX_TRUE@ scsihosttest.c testutils.h testutils.c
+
+@WITH_LINUX_TRUE@scsihosttest_LDADD = $(LDADDS)
@WITH_LINUX_TRUE@virscsitest_SOURCES = \
@WITH_LINUX_TRUE@ virscsitest.c testutils.h testutils.c
@@ -3880,6 +3913,10 @@ cputest$(EXEEXT): $(cputest_OBJECTS) $(cputest_DEPENDENCIES) $(EXTRA_cputest_DEP
@rm -f cputest$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(cputest_OBJECTS) $(cputest_LDADD) $(LIBS)
+domaincapstest$(EXEEXT): $(domaincapstest_OBJECTS) $(domaincapstest_DEPENDENCIES) $(EXTRA_domaincapstest_DEPENDENCIES)
+ @rm -f domaincapstest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(domaincapstest_OBJECTS) $(domaincapstest_LDADD) $(LIBS)
+
domainconftest$(EXEEXT): $(domainconftest_OBJECTS) $(domainconftest_DEPENDENCIES) $(EXTRA_domainconftest_DEPENDENCIES)
@rm -f domainconftest$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(domainconftest_OBJECTS) $(domainconftest_LDADD) $(LIBS)
@@ -4024,6 +4061,10 @@ reconnect$(EXEEXT): $(reconnect_OBJECTS) $(reconnect_DEPENDENCIES) $(EXTRA_recon
@rm -f reconnect$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(reconnect_OBJECTS) $(reconnect_LDADD) $(LIBS)
+scsihosttest$(EXEEXT): $(scsihosttest_OBJECTS) $(scsihosttest_DEPENDENCIES) $(EXTRA_scsihosttest_DEPENDENCIES)
+ @rm -f scsihosttest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(scsihosttest_OBJECTS) $(scsihosttest_LDADD) $(LIBS)
+
seclabeltest$(EXEEXT): $(seclabeltest_OBJECTS) $(seclabeltest_DEPENDENCIES) $(EXTRA_seclabeltest_DEPENDENCIES)
@rm -f seclabeltest$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(seclabeltest_OBJECTS) $(seclabeltest_LDADD) $(LIBS)
@@ -4284,6 +4325,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandhelper.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commandtest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cputest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/domaincapstest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/domainconftest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/domainsnapshotxml2xmltest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/esxutilstest.Po@am__quote@
@@ -4323,6 +4365,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qemuxml2xmltest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qemuxmlnstest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reconnect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scsihosttest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seclabeltest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secretxml2xmltest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/securityselinuxhelper.Plo@am__quote@
@@ -5046,6 +5089,13 @@ vircapstest.log: vircapstest$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+domaincapstest.log: domaincapstest$(EXEEXT)
+ @p='domaincapstest$(EXEEXT)'; \
+ b='domaincapstest'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
domainconftest.log: domainconftest$(EXEEXT)
@p='domainconftest$(EXEEXT)'; \
b='domainconftest'; \
@@ -5109,6 +5159,13 @@ fchosttest.log: fchosttest$(EXEEXT)
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+scsihosttest.log: scsihosttest$(EXEEXT)
+ @p='scsihosttest$(EXEEXT)'; \
+ b='scsihosttest'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
fdstreamtest.log: fdstreamtest$(EXEEXT)
@p='fdstreamtest$(EXEEXT)'; \
b='fdstreamtest'; \
@@ -5557,6 +5614,13 @@ storagevolschematest.log: storagevolschematest
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+domaincapsschematest.log: domaincapsschematest
+ @p='domaincapsschematest'; \
+ b='domaincapsschematest'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
domainschematest.log: domainschematest
@p='domainschematest'; \
b='domainschematest'; \
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.args b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.args
new file mode 100644
index 000000000..eb38969e1
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.args
@@ -0,0 +1,3 @@
+/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
+-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
+-s 2:0,ahci-cd,/tmp/cdrom.iso bhyve
diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.xml b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.xml
new file mode 100644
index 000000000..d70219c19
--- /dev/null
+++ b/tests/bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.xml
@@ -0,0 +1,22 @@
+<domain type='bhyve'>
+ <name>bhyve</name>
+ <uuid>df3be7e7-a104-11e3-aeb0-50e5492bd3dc</uuid>
+ <memory>219136</memory>
+ <vcpu>1</vcpu>
+ <os>
+ <type>hvm</type>
+ </os>
+ <devices>
+ <disk type='file' device='cdrom'>
+ <driver name='file' type='raw'/>
+ <source file='/tmp/cdrom.iso'/>
+ <target dev='hdc' bus='sata'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+ </disk>
+ <interface type='bridge'>
+ <model type='virtio'/>
+ <source bridge="virbr0"/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </interface>
+ </devices>
+</domain>
diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c
index f6f2bc4c6..408c73aa0 100644
--- a/tests/bhyvexml2argvtest.c
+++ b/tests/bhyvexml2argvtest.c
@@ -104,6 +104,7 @@ mymain(void)
DO_TEST("base");
DO_TEST("acpiapic");
+ DO_TEST("disk-cdrom");
DO_TEST("disk-virtio");
DO_TEST("macaddr");
DO_TEST("serial");
diff --git a/tests/domaincapsschemadata/domaincaps-basic.xml b/tests/domaincapsschemadata/domaincaps-basic.xml
new file mode 100644
index 000000000..99635199b
--- /dev/null
+++ b/tests/domaincapsschemadata/domaincaps-basic.xml
@@ -0,0 +1,10 @@
+<domainCapabilities>
+ <path>/bin/emulatorbin</path>
+ <domain>uml</domain>
+ <machine>my-machine-type</machine>
+ <arch>x86_64</arch>
+ <devices>
+ <disk supported='no'/>
+ <hostdev supported='no'/>
+ </devices>
+</domainCapabilities>
diff --git a/tests/domaincapsschemadata/domaincaps-full.xml b/tests/domaincapsschemadata/domaincaps-full.xml
new file mode 100644
index 000000000..58dd4cbdb
--- /dev/null
+++ b/tests/domaincapsschemadata/domaincaps-full.xml
@@ -0,0 +1,56 @@
+<domainCapabilities>
+ <path>/bin/emulatorbin</path>
+ <domain>kvm</domain>
+ <machine>my-machine-type</machine>
+ <arch>x86_64</arch>
+ <vcpu max='255'/>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>xen</value>
+ <value>usb</value>
+ <value>uml</value>
+ <value>sata</value>
+ <value>sd</value>
+ </enum>
+ </disk>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ <value>capabilities</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'>
+ <value>storage</value>
+ <value>misc</value>
+ <value>net</value>
+ </enum>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>kvm</value>
+ <value>vfio</value>
+ <value>xen</value>
+ </enum>
+ </hostdev>
+ </devices>
+</domainCapabilities>
diff --git a/tests/domaincapsschemadata/domaincaps-qemu_1.6.50-1.xml b/tests/domaincapsschemadata/domaincaps-qemu_1.6.50-1.xml
new file mode 100644
index 000000000..8b63993e5
--- /dev/null
+++ b/tests/domaincapsschemadata/domaincaps-qemu_1.6.50-1.xml
@@ -0,0 +1,45 @@
+<domainCapabilities>
+ <path>/usr/bin/qemu-system-x86_64</path>
+ <domain>kvm</domain>
+ <machine>pc-1.2</machine>
+ <arch>x86_64</arch>
+ <devices>
+ <disk supported='yes'>
+ <enum name='diskDevice'>
+ <value>disk</value>
+ <value>cdrom</value>
+ <value>floppy</value>
+ <value>lun</value>
+ </enum>
+ <enum name='bus'>
+ <value>ide</value>
+ <value>fdc</value>
+ <value>scsi</value>
+ <value>virtio</value>
+ <value>usb</value>
+ </enum>
+ </disk>
+ <hostdev supported='yes'>
+ <enum name='mode'>
+ <value>subsystem</value>
+ </enum>
+ <enum name='startupPolicy'>
+ <value>default</value>
+ <value>mandatory</value>
+ <value>requisite</value>
+ <value>optional</value>
+ </enum>
+ <enum name='subsysType'>
+ <value>usb</value>
+ <value>pci</value>
+ <value>scsi</value>
+ </enum>
+ <enum name='capsType'/>
+ <enum name='pciBackend'>
+ <value>default</value>
+ <value>kvm</value>
+ <value>vfio</value>
+ </enum>
+ </hostdev>
+ </devices>
+</domainCapabilities>
diff --git a/tests/domaincapsschematest b/tests/domaincapsschematest
new file mode 100755
index 000000000..9baf44a47
--- /dev/null
+++ b/tests/domaincapsschematest
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+: ${srcdir=.}
+. $srcdir/test-lib.sh
+. $abs_srcdir/schematestutils.sh
+
+DIRS=""
+DIRS="$DIRS domaincapsschemadata"
+SCHEMA="domaincaps.rng"
+
+check_schema "$DIRS" "$SCHEMA"
diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c
new file mode 100644
index 000000000..78197e235
--- /dev/null
+++ b/tests/domaincapstest.c
@@ -0,0 +1,194 @@
+/*
+ * Copyright (C) Red Hat, Inc. 2014
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * Authors:
+ * Michal Privoznik <mprivozn@redhat.com>
+ */
+
+#include <config.h>
+#include <stdlib.h>
+
+#include "testutils.h"
+#include "domain_capabilities.h"
+
+
+#define VIR_FROM_THIS VIR_FROM_NONE
+
+typedef void (*virDomainCapsFill)(virDomainCapsPtr domCaps,
+ void *opaque);
+
+#define SET_ALL_BITS(x) \
+ memset(&(x.values), 0xff, sizeof(x.values))
+
+static void
+fillAll(virDomainCapsPtr domCaps,
+ void *opaque ATTRIBUTE_UNUSED)
+{
+ virDomainCapsDeviceDiskPtr disk = &domCaps->disk;
+ virDomainCapsDeviceHostdevPtr hostdev = &domCaps->hostdev;
+ domCaps->maxvcpus = 255;
+
+ disk->device.supported = true;
+ SET_ALL_BITS(disk->diskDevice);
+ SET_ALL_BITS(disk->bus);
+
+ hostdev->device.supported = true;
+ SET_ALL_BITS(hostdev->mode);
+ SET_ALL_BITS(hostdev->startupPolicy);
+ SET_ALL_BITS(hostdev->subsysType);
+ SET_ALL_BITS(hostdev->capsType);
+ SET_ALL_BITS(hostdev->pciBackend);
+}
+
+
+#ifdef WITH_QEMU
+# include "testutilsqemu.h"
+static void
+fillQemuCaps(virDomainCapsPtr domCaps,
+ void *opaque)
+{
+ virQEMUCapsPtr qemuCaps = (virQEMUCapsPtr) opaque;
+
+ virQEMUCapsFillDomainCaps(domCaps, qemuCaps);
+
+ /* The function above tries to query host's KVM & VFIO capabilities by
+ * calling qemuHostdevHostSupportsPassthroughLegacy() and
+ * qemuHostdevHostSupportsPassthroughVFIO() which, however, can't be
+ * successfully mocked as they are not exposed as internal APIs. Therefore,
+ * instead of mocking set the expected values here by hand. */
+ VIR_DOMAIN_CAPS_ENUM_SET(domCaps->hostdev.pciBackend,
+ VIR_DOMAIN_HOSTDEV_PCI_BACKEND_DEFAULT,
+ VIR_DOMAIN_HOSTDEV_PCI_BACKEND_KVM,
+ VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO);
+}
+#endif /* WITH_QEMU */
+
+
+static virDomainCapsPtr
+buildVirDomainCaps(const char *emulatorbin,
+ const char *machine,
+ virArch arch,
+ virDomainVirtType type,
+ virDomainCapsFill fillFunc,
+ void *opaque)
+{
+ virDomainCapsPtr domCaps;
+
+ if (!(domCaps = virDomainCapsNew(emulatorbin, machine, arch, type)))
+ goto cleanup;
+
+ if (fillFunc)
+ fillFunc(domCaps, opaque);
+
+ cleanup:
+ return domCaps;
+}
+
+struct test_virDomainCapsFormatData {
+ const char *filename;
+ const char *emulatorbin;
+ const char *machine;
+ virArch arch;
+ virDomainVirtType type;
+ virDomainCapsFill fillFunc;
+ void *opaque;
+};
+
+static int
+test_virDomainCapsFormat(const void *opaque)
+{
+ struct test_virDomainCapsFormatData *data =
+ (struct test_virDomainCapsFormatData *) opaque;
+ virDomainCapsPtr domCaps = NULL;
+ char *path = NULL;
+ char *domCapsXML = NULL;
+ char *domCapsFromFile = NULL;
+ int ret = -1;
+
+ if (virAsprintf(&path, "%s/domaincapsschemadata/domaincaps-%s.xml",
+ abs_srcdir, data->filename) < 0)
+ goto cleanup;
+
+ if (virFileReadAll(path, 8192, &domCapsFromFile) < 0)
+ goto cleanup;
+
+ if (!(domCaps = buildVirDomainCaps(data->emulatorbin, data->machine,
+ data->arch, data->type,
+ data->fillFunc, data->opaque)))
+ goto cleanup;
+
+ if (!(domCapsXML = virDomainCapsFormat(domCaps)))
+ goto cleanup;
+
+ if (STRNEQ(domCapsFromFile, domCapsXML)) {
+ virtTestDifference(stderr, domCapsFromFile, domCapsXML);
+ goto cleanup;
+ }
+
+ ret = 0;
+ cleanup:
+ VIR_FREE(domCapsFromFile);
+ VIR_FREE(domCapsXML);
+ VIR_FREE(path);
+ virObjectUnref(domCaps);
+ return ret;
+}
+
+static int
+mymain(void)
+{
+ int ret = 0;
+
+#define DO_TEST(Filename, Emulatorbin, Machine, Arch, Type, ...) \
+ do { \
+ struct test_virDomainCapsFormatData data = {.filename = Filename, \
+ .emulatorbin = Emulatorbin, .machine = Machine, .arch = Arch, \
+ .type = Type, __VA_ARGS__}; \
+ if (virtTestRun(Filename, test_virDomainCapsFormat, &data) < 0) \
+ ret = -1; \
+ } while (0)
+
+ DO_TEST("basic", "/bin/emulatorbin", "my-machine-type",
+ VIR_ARCH_X86_64, VIR_DOMAIN_VIRT_UML);
+ DO_TEST("full", "/bin/emulatorbin", "my-machine-type",
+ VIR_ARCH_X86_64, VIR_DOMAIN_VIRT_KVM, .fillFunc = fillAll);
+
+#ifdef WITH_QEMU
+
+# define DO_TEST_QEMU(Filename, QemuCapsFile, Emulatorbin, Machine, Arch, Type, ...) \
+ do { \
+ const char *capsPath = abs_srcdir "/qemucapabilitiesdata/" QemuCapsFile ".caps"; \
+ virQEMUCapsPtr qemuCaps = qemuTestParseCapabilities(capsPath); \
+ struct test_virDomainCapsFormatData data = {.filename = Filename, \
+ .emulatorbin = Emulatorbin, .machine = Machine, .arch = Arch, \
+ .type = Type, .fillFunc = fillQemuCaps, .opaque = qemuCaps}; \
+ if (!qemuCaps) { \
+ fprintf(stderr, "Unable to build qemu caps from %s\n", capsPath); \
+ ret = -1; \
+ } else if (virtTestRun(Filename, test_virDomainCapsFormat, &data) < 0) \
+ ret = -1; \
+ } while (0)
+
+ DO_TEST_QEMU("qemu_1.6.50-1", "caps_1.6.50-1", "/usr/bin/qemu-system-x86_64",
+ "pc-1.2", VIR_ARCH_X86_64, VIR_DOMAIN_VIRT_KVM);
+
+#endif /* WITH_QEMU */
+
+ return ret;
+}
+
+VIRT_TEST_MAIN(mymain)
diff --git a/tests/domainschemadata/domain-caps-features.xml b/tests/domainschemadata/domain-caps-features.xml
new file mode 100644
index 000000000..4f118b227
--- /dev/null
+++ b/tests/domainschemadata/domain-caps-features.xml
@@ -0,0 +1,28 @@
+<domain type='lxc'>
+ <name>demo</name>
+ <uuid>8369f1ac-7e46-e869-4ca5-759d51478066</uuid>
+ <os>
+ <type>exe</type>
+ <init>/sh</init>
+ </os>
+ <features>
+ <capabilities policy="deny">
+ <mknod state="on"/>
+ </capabilities>
+ </features>
+ <resource>
+ <partition>/virtualmachines</partition>
+ </resource>
+ <memory unit='KiB'>500000</memory>
+ <devices>
+ <filesystem type='mount'>
+ <source dir='/root/container'/>
+ <target dir='/'/>
+ </filesystem>
+ <filesystem type='mount'>
+ <source dir='/home'/>
+ <target dir='/home'/>
+ </filesystem>
+ <console type='pty'/>
+ </devices>
+</domain>
diff --git a/tests/domainschematest b/tests/domainschematest
index 9ebf0b9a5..ba9018091 100755
--- a/tests/domainschematest
+++ b/tests/domainschematest
@@ -6,8 +6,9 @@
DIRS=""
DIRS="$DIRS domainschemadata qemuxml2argvdata sexpr2xmldata"
-DIRS="$DIRS xmconfigdata xml2sexprdata qemuxml2xmloutdata "
+DIRS="$DIRS xmconfigdata xml2sexprdata qemuxml2xmloutdata"
DIRS="$DIRS lxcxml2xmldata lxcxml2xmloutdata"
+DIRS="$DIRS bhyvexml2argvdata"
SCHEMA="domain.rng"
check_schema "$DIRS" "$SCHEMA"
diff --git a/tests/domainsnapshotxml2xmltest.c b/tests/domainsnapshotxml2xmltest.c
index 6d201818d..1b3a28f77 100644
--- a/tests/domainsnapshotxml2xmltest.c
+++ b/tests/domainsnapshotxml2xmltest.c
@@ -58,10 +58,8 @@ testFilterXML(char *xml)
virBufferStrcat(&buf, *xmlLine, "\n", NULL);
}
- if (virBufferError(&buf)) {
- virReportOOMError();
+ if (virBufferCheckError(&buf) < 0)
goto cleanup;
- }
ret = virBufferContentAndReset(&buf);
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml b/tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml
index 36b8e52f2..c9c046969 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-blkiotune.xml
@@ -25,6 +25,8 @@
</os>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml b/tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml
index 932ab6168..e7863fa13 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-cpusettune.xml
@@ -13,6 +13,8 @@
</os>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-cputune.xml b/tests/lxcconf2xmldata/lxcconf2xml-cputune.xml
index 1bab1c65a..50c5358ab 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-cputune.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-cputune.xml
@@ -15,6 +15,8 @@
</os>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-idmap.xml b/tests/lxcconf2xmldata/lxcconf2xml-idmap.xml
index 050ccd6f7..80a83ff78 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-idmap.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-idmap.xml
@@ -14,6 +14,8 @@
</idmap>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml b/tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml
index 996c0f749..3105b8cef 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-macvlannetwork.xml
@@ -8,6 +8,10 @@
<type>exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <capabilities policy='allow'>
+ </capabilities>
+ </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-memtune.xml b/tests/lxcconf2xmldata/lxcconf2xml-memtune.xml
index b7c919e7a..7df1ef0e9 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-memtune.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-memtune.xml
@@ -15,6 +15,8 @@
</os>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml b/tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml
index 6d9e16de4..e002b99a6 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-nonenetwork.xml
@@ -8,6 +8,10 @@
<type>exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <capabilities policy='allow'>
+ </capabilities>
+ </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml b/tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml
index 101324ad1..dc9d6350f 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-nonetwork.xml
@@ -10,6 +10,8 @@
</os>
<features>
<privnet/>
+ <capabilities policy='allow'>
+ </capabilities>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config b/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config
index 63a4aa1e3..ed196e1e8 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config
+++ b/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.config
@@ -1,5 +1,6 @@
lxc.network.type = phys
lxc.network.link = eth0
+lxc.network.name = eth1
lxc.rootfs = /var/lib/lxc/migrate_test/rootfs
lxc.utsname = migrate_test
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml b/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml
index 5fe1b03b3..cfaceb520 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-physnetwork.xml
@@ -8,6 +8,10 @@
<type>exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <capabilities policy='allow'>
+ </capabilities>
+ </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-simple.xml b/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
index b3c3659c1..10428ec61 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
@@ -8,6 +8,14 @@
<type arch='i686'>exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <capabilities policy='allow'>
+ <mac_admin state='off'/>
+ <mac_override state='off'/>
+ <mknod state='off'/>
+ <sys_module state='off'/>
+ </capabilities>
+ </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
@@ -29,6 +37,7 @@
<interface type='bridge'>
<mac address='02:00:15:8f:05:c1'/>
<source bridge='virbr0'/>
+ <guest dev='eth0'/>
<link state='up'/>
</interface>
<console type='pty'>
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml b/tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml
index 45348ed15..712be3e1e 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-vlannetwork.xml
@@ -8,6 +8,10 @@
<type>exe</type>
<init>/sbin/init</init>
</os>
+ <features>
+ <capabilities policy='allow'>
+ </capabilities>
+ </features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
diff --git a/tests/lxcxml2xmldata/lxc-capabilities.xml b/tests/lxcxml2xmldata/lxc-capabilities.xml
new file mode 100644
index 000000000..04d64e3e4
--- /dev/null
+++ b/tests/lxcxml2xmldata/lxc-capabilities.xml
@@ -0,0 +1,34 @@
+<domain type='lxc'>
+ <name>jessie</name>
+ <uuid>e21987a5-e98e-9c99-0e35-803e4d9ad1fe</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <resource>
+ <partition>/machine</partition>
+ </resource>
+ <os>
+ <type arch='x86_64'>exe</type>
+ <init>/sbin/init</init>
+ </os>
+ <features>
+ <capabilities policy='default'>
+ <mknod state='on'/>
+ </capabilities>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/libexec/libvirt_lxc</emulator>
+ <filesystem type='mount' accessmode='passthrough'>
+ <source dir='/mach/jessie'/>
+ <target dir='/'/>
+ </filesystem>
+ <console type='pty'>
+ <target type='lxc' port='0'/>
+ </console>
+ </devices>
+ <seclabel type='none'/>
+</domain>
diff --git a/tests/lxcxml2xmldata/lxc-idmap.xml b/tests/lxcxml2xmldata/lxc-idmap.xml
index 3cced2107..946d36357 100644
--- a/tests/lxcxml2xmldata/lxc-idmap.xml
+++ b/tests/lxcxml2xmldata/lxc-idmap.xml
@@ -29,6 +29,7 @@
<mac address='00:16:3e:0f:ef:8a'/>
<source bridge='bri0'/>
<target dev='veth0'/>
+ <guest dev='eth2'/>
</interface>
<console type='pty'>
<target type='lxc' port='0'/>
diff --git a/tests/lxcxml2xmltest.c b/tests/lxcxml2xmltest.c
index 814498966..6dce070db 100644
--- a/tests/lxcxml2xmltest.c
+++ b/tests/lxcxml2xmltest.c
@@ -144,6 +144,7 @@ mymain(void)
DO_TEST_DIFFERENT("filesystem-ram");
DO_TEST("filesystem-root");
DO_TEST("idmap");
+ DO_TEST("capabilities");
virObjectUnref(caps);
virObjectUnref(xmlopt);
diff --git a/tests/metadatatest.c b/tests/metadatatest.c
index 91fc94472..a8d8f10be 100644
--- a/tests/metadatatest.c
+++ b/tests/metadatatest.c
@@ -167,6 +167,10 @@ verifyMetadata(virDomainPtr dom,
struct metadataTest {
virConnectPtr conn;
virDomainPtr dom;
+
+ const char *data;
+ int type;
+ bool fail;
};
@@ -216,6 +220,52 @@ testEraseMetadata(const void *data)
}
static int
+testTextMetadata(const void *data)
+{
+ const struct metadataTest *test = data;
+ char *actual = NULL;
+ int ret = -1;
+
+ if (virDomainSetMetadata(test->dom, test->type, test->data, NULL, NULL, 0) < 0) {
+ if (test->fail)
+ return 0;
+ return -1;
+ }
+
+ actual = virDomainGetMetadata(test->dom, test->type, NULL, 0);
+
+ if (STRNEQ_NULLABLE(test->data, actual)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ "expected metadata doesn't match actual: "
+ "expected:'%s'\ngot: '%s'",
+ NULLSTR(test->data), NULLSTR(actual));
+ goto cleanup;
+ }
+
+ ret = 0;
+
+ cleanup:
+ VIR_FREE(actual);
+
+ return ret;
+}
+
+#define TEST_TEXT_METADATA(INDEX, TYPE, DATA, FAIL) \
+ do { \
+ test.type = VIR_DOMAIN_METADATA_ ## TYPE; \
+ test.data = DATA; \
+ test.fail = FAIL; \
+ \
+ if (virtTestRun("text metadata: " #TYPE " " INDEX " ", \
+ testTextMetadata, &test) < 0) \
+ ret = EXIT_FAILURE; \
+ } while (0)
+
+#define TEST_TITLE(INDEX, DATA) TEST_TEXT_METADATA(INDEX, TITLE, DATA, false)
+#define TEST_TITLE_FAIL(INDEX, DATA) TEST_TEXT_METADATA(INDEX, TITLE, DATA, true)
+#define TEST_DESCR(INDEX, DATA) TEST_TEXT_METADATA(INDEX, DESCRIPTION, DATA, false)
+
+static int
mymain(void)
{
struct metadataTest test;
@@ -238,6 +288,20 @@ mymain(void)
if (virtTestRun("Erase metadata ", testEraseMetadata, &test) < 0)
ret = EXIT_FAILURE;
+ TEST_TITLE("1", "qwert");
+ TEST_TITLE("2", NULL);
+ TEST_TITLE("3", "blah");
+ TEST_TITLE_FAIL("4", "qwe\nrt");
+ TEST_TITLE("5", "");
+ TEST_TITLE_FAIL("6", "qwert\n");
+ TEST_TITLE_FAIL("7", "\n");
+
+ TEST_DESCR("1", "qwert\nqwert");
+ TEST_DESCR("2", NULL);
+ TEST_DESCR("3", "qwert");
+ TEST_DESCR("4", "\n");
+ TEST_DESCR("5", "");
+
virDomainFree(test.dom);
virConnectClose(test.conn);
diff --git a/tests/nodedevschemadata/pci_8086_27c5_scsi_host_0_unique_id.xml b/tests/nodedevschemadata/pci_8086_27c5_scsi_host_0_unique_id.xml
new file mode 100644
index 000000000..5428f59d1
--- /dev/null
+++ b/tests/nodedevschemadata/pci_8086_27c5_scsi_host_0_unique_id.xml
@@ -0,0 +1,8 @@
+<device>
+ <name>pci_8086_27c5_scsi_host_0</name>
+ <parent>pci_8086_27c5</parent>
+ <capability type='scsi_host'>
+ <host>1</host>
+ <unique_id>2</unique_id>
+ </capability>
+</device>
diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c
index fe1fd8823..a37d7290c 100644
--- a/tests/nodedevxml2xmltest.c
+++ b/tests/nodedevxml2xmltest.c
@@ -82,6 +82,7 @@ mymain(void)
DO_TEST("pci_1002_71c4");
DO_TEST("pci_8086_10c9_sriov_pf");
DO_TEST("pci_8086_27c5_scsi_host_0");
+ DO_TEST("pci_8086_27c5_scsi_host_0_unique_id");
DO_TEST("pci_8086_27c5_scsi_host_scsi_device_lun0");
DO_TEST("pci_8086_27c5_scsi_host_scsi_host");
DO_TEST("pci_8086_27c5_scsi_host");
diff --git a/tests/qemuargv2xmltest.c b/tests/qemuargv2xmltest.c
index 2cbbe3d7f..6bad7d6d1 100644
--- a/tests/qemuargv2xmltest.c
+++ b/tests/qemuargv2xmltest.c
@@ -26,6 +26,7 @@ static int blankProblemElements(char *data)
if (virtTestClearLineRegex("<name>[[:alnum:]]+</name>", data) < 0 ||
virtTestClearLineRegex("<uuid>([[:alnum:]]|-)+</uuid>", data) < 0 ||
virtTestClearLineRegex("<memory.*>[[:digit:]]+</memory>", data) < 0 ||
+ virtTestClearLineRegex("<secret.*>", data) < 0 ||
virtTestClearLineRegex("<currentMemory.*>[[:digit:]]+</currentMemory>",
data) < 0 ||
virtTestClearLineRegex("<readonly/>", data) < 0 ||
@@ -226,8 +227,10 @@ mymain(void)
DO_TEST("disk-drive-network-nbd-ipv6-export");
DO_TEST("disk-drive-network-nbd-unix");
DO_TEST("disk-drive-network-iscsi");
+ DO_TEST("disk-drive-network-iscsi-auth");
DO_TEST("disk-drive-network-gluster");
DO_TEST("disk-drive-network-rbd");
+ DO_TEST("disk-drive-network-rbd-auth");
DO_TEST("disk-drive-network-rbd-ipv6");
/* older format using CEPH_ARGS env var */
DO_TEST("disk-drive-network-rbd-ceph-env");
diff --git a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
index 63c18da88..04d21410b 100644
--- a/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.3.1-1.replies
@@ -308,6 +308,14 @@
}
{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
+{
"return": [
{
"name": "SPICE_MIGRATE_COMPLETED"
@@ -382,7 +390,7 @@
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
@@ -871,7 +879,7 @@
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
@@ -973,7 +981,7 @@
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
@@ -1111,11 +1119,11 @@
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
@@ -1123,7 +1131,7 @@
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
@@ -1131,7 +1139,7 @@
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
@@ -1139,7 +1147,7 @@
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
@@ -1147,7 +1155,7 @@
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
@@ -1197,7 +1205,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
@@ -1231,7 +1239,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
@@ -1305,7 +1313,7 @@
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
@@ -1359,7 +1367,7 @@
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
@@ -1401,11 +1409,11 @@
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
@@ -1455,7 +1463,7 @@
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
@@ -1481,13 +1489,13 @@
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
@@ -1497,7 +1505,7 @@
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
@@ -1547,7 +1555,7 @@
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
@@ -1561,7 +1569,7 @@
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
@@ -1615,7 +1623,7 @@
"name": "none"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
@@ -1693,7 +1701,7 @@
"name": "Opteron_G5"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
@@ -1701,11 +1709,11 @@
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
- "id": "libvirt-29",
+ "id": "libvirt-31",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-models has not been found"
@@ -1713,7 +1721,7 @@
}
{
- "id": "libvirt-30",
+ "id": "libvirt-32",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-types has not been found"
@@ -1721,7 +1729,7 @@
}
{
- "id": "libvirt-31",
+ "id": "libvirt-33",
"error": {
"class": "CommandNotFound",
"desc": "The command query-command-line-options has not been found"
diff --git a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
index 4fb406175..aef359c0f 100644
--- a/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.4.2-1.replies
@@ -320,6 +320,14 @@
}
{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
+{
"return": [
{
"name": "SPICE_MIGRATE_COMPLETED"
@@ -394,7 +402,7 @@
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
@@ -910,7 +918,7 @@
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
@@ -1012,7 +1020,7 @@
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
@@ -1158,11 +1166,11 @@
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
@@ -1170,7 +1178,7 @@
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
@@ -1178,7 +1186,7 @@
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
@@ -1186,7 +1194,7 @@
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
@@ -1194,7 +1202,7 @@
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
@@ -1244,7 +1252,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
@@ -1278,7 +1286,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
@@ -1352,7 +1360,7 @@
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
@@ -1406,7 +1414,7 @@
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
@@ -1448,11 +1456,11 @@
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
@@ -1502,7 +1510,7 @@
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
@@ -1528,13 +1536,13 @@
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
@@ -1544,7 +1552,7 @@
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
@@ -1594,7 +1602,7 @@
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
@@ -1608,7 +1616,7 @@
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
@@ -1665,7 +1673,7 @@
"name": "none"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
@@ -1743,7 +1751,7 @@
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
@@ -1751,11 +1759,11 @@
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
- "id": "libvirt-29",
+ "id": "libvirt-31",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-models has not been found"
@@ -1763,7 +1771,7 @@
}
{
- "id": "libvirt-30",
+ "id": "libvirt-32",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-types has not been found"
@@ -1771,7 +1779,7 @@
}
{
- "id": "libvirt-31",
+ "id": "libvirt-33",
"error": {
"class": "CommandNotFound",
"desc": "The command query-command-line-options has not been found"
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
index 686fa3ecd..1f84bb655 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.5.3-1.replies
@@ -335,6 +335,14 @@
}
{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
+{
"return": [
{
"name": "GUEST_PANICKED"
@@ -415,7 +423,7 @@
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
@@ -976,7 +984,7 @@
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
@@ -1078,7 +1086,7 @@
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
@@ -1224,11 +1232,11 @@
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
@@ -1236,7 +1244,7 @@
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
@@ -1244,7 +1252,7 @@
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
@@ -1252,7 +1260,7 @@
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
@@ -1260,7 +1268,7 @@
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
@@ -1310,7 +1318,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
@@ -1352,7 +1360,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
@@ -1426,7 +1434,7 @@
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
@@ -1480,7 +1488,7 @@
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
@@ -1522,11 +1530,11 @@
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
@@ -1576,7 +1584,7 @@
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
@@ -1602,13 +1610,13 @@
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
@@ -1618,7 +1626,7 @@
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
@@ -1668,7 +1676,7 @@
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
@@ -1682,7 +1690,7 @@
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
@@ -1755,7 +1763,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
@@ -1833,7 +1841,7 @@
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
@@ -1841,19 +1849,19 @@
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
@@ -2529,5 +2537,5 @@
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
index 95e0c37df..c9dc29b10 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.6.0-1.replies
@@ -341,6 +341,14 @@
}
{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
+{
"return": [
{
"name": "GUEST_PANICKED"
@@ -424,7 +432,7 @@
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
@@ -1018,7 +1026,7 @@
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
@@ -1120,7 +1128,7 @@
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
@@ -1274,11 +1282,11 @@
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
@@ -1286,7 +1294,7 @@
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
@@ -1294,7 +1302,7 @@
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
@@ -1302,7 +1310,7 @@
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
@@ -1310,7 +1318,7 @@
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
@@ -1360,7 +1368,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
@@ -1402,7 +1410,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
@@ -1476,7 +1484,7 @@
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
@@ -1530,7 +1538,7 @@
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
@@ -1572,11 +1580,11 @@
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
@@ -1630,7 +1638,7 @@
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
@@ -1656,7 +1664,7 @@
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
@@ -1666,7 +1674,7 @@
"type": "size"
}
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
@@ -1680,7 +1688,7 @@
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
@@ -1730,7 +1738,7 @@
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
@@ -1744,7 +1752,7 @@
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
@@ -1833,7 +1841,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
@@ -1911,7 +1919,7 @@
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
@@ -1919,19 +1927,19 @@
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
@@ -2509,5 +2517,5 @@
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}
diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
index 32bccdbbe..4b9f693d7 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
+++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.caps
@@ -142,4 +142,5 @@
<flag name='usb-kbd'/>
<flag name='host-pci-multidomain'/>
<flag name='msg-timestamp'/>
+ <flag name='numa'/>
</qemuCaps>
diff --git a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
index 3ecf18594..ec7451f52 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
+++ b/tests/qemucapabilitiesdata/caps_1.6.50-1.replies
@@ -347,6 +347,14 @@
}
{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
+{
"return": [
{
"name": "BLOCK_IMAGE_CORRUPTED"
@@ -433,7 +441,7 @@
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
@@ -1024,7 +1032,7 @@
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
@@ -1126,7 +1134,7 @@
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
@@ -1280,11 +1288,11 @@
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
@@ -1292,7 +1300,7 @@
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
@@ -1300,7 +1308,7 @@
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
@@ -1308,7 +1316,7 @@
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
@@ -1316,7 +1324,7 @@
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
@@ -1366,7 +1374,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
@@ -1408,7 +1416,7 @@
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
@@ -1482,7 +1490,7 @@
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
@@ -1536,7 +1544,7 @@
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
@@ -1578,11 +1586,11 @@
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
@@ -1590,7 +1598,7 @@
}
{
- "id": "libvirt-21",
+ "id": "libvirt-22",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-host' not found"
@@ -1620,7 +1628,7 @@
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
@@ -1630,7 +1638,7 @@
"type": "size"
}
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
@@ -1644,7 +1652,7 @@
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
@@ -1694,7 +1702,7 @@
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
@@ -1708,7 +1716,7 @@
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
@@ -1805,7 +1813,7 @@
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
@@ -1883,7 +1891,7 @@
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
@@ -1891,19 +1899,19 @@
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
@@ -2381,6 +2389,11 @@
{
"parameters": [
],
+ "option": "numa"
+ },
+ {
+ "parameters": [
+ ],
"option": "device"
},
{
@@ -2486,5 +2499,5 @@
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}
diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c
index a2914606f..4e5f9e529 100644
--- a/tests/qemucapabilitiestest.c
+++ b/tests/qemucapabilitiestest.c
@@ -85,55 +85,6 @@ testQemuFeedMonitor(char *replies,
return NULL;
}
-static virQEMUCapsPtr
-testQemuGetCaps(char *caps)
-{
- virQEMUCapsPtr qemuCaps = NULL;
- xmlDocPtr xml;
- xmlXPathContextPtr ctxt = NULL;
- ssize_t i, n;
- xmlNodePtr *nodes = NULL;
-
- if (!(xml = virXMLParseStringCtxt(caps, "(test caps)", &ctxt)))
- goto error;
-
- if ((n = virXPathNodeSet("/qemuCaps/flag", ctxt, &nodes)) < 0) {
- fprintf(stderr, "failed to parse qemu capabilities flags");
- goto error;
- }
-
- if (n > 0) {
- if (!(qemuCaps = virQEMUCapsNew()))
- goto error;
-
- for (i = 0; i < n; i++) {
- char *str = virXMLPropString(nodes[i], "name");
- if (str) {
- int flag = virQEMUCapsTypeFromString(str);
- if (flag < 0) {
- fprintf(stderr, "Unknown qemu capabilities flag %s", str);
- VIR_FREE(str);
- goto error;
- }
- VIR_FREE(str);
- virQEMUCapsSet(qemuCaps, flag);
- }
- }
- }
-
- VIR_FREE(nodes);
- xmlFreeDoc(xml);
- xmlXPathFreeContext(ctxt);
- return qemuCaps;
-
- error:
- VIR_FREE(nodes);
- virObjectUnref(qemuCaps);
- xmlFreeDoc(xml);
- xmlXPathFreeContext(ctxt);
- return NULL;
-}
-
static int
testQemuCapsCompare(virQEMUCapsPtr capsProvided,
virQEMUCapsPtr capsComputed)
@@ -166,7 +117,7 @@ testQemuCaps(const void *opaque)
int ret = -1;
const testQemuData *data = opaque;
char *repliesFile = NULL, *capsFile = NULL;
- char *replies = NULL, *caps = NULL;
+ char *replies = NULL;
qemuMonitorTestPtr mon = NULL;
virQEMUCapsPtr capsProvided = NULL, capsComputed = NULL;
@@ -176,14 +127,13 @@ testQemuCaps(const void *opaque)
abs_srcdir, data->base) < 0)
goto cleanup;
- if (virtTestLoadFile(repliesFile, &replies) < 0 ||
- virtTestLoadFile(capsFile, &caps) < 0)
+ if (virtTestLoadFile(repliesFile, &replies) < 0)
goto cleanup;
if (!(mon = testQemuFeedMonitor(replies, data->xmlopt)))
goto cleanup;
- if (!(capsProvided = testQemuGetCaps(caps)))
+ if (!(capsProvided = qemuTestParseCapabilities(capsFile)))
goto cleanup;
if (!(capsComputed = virQEMUCapsNew()))
@@ -207,7 +157,6 @@ testQemuCaps(const void *opaque)
VIR_FREE(repliesFile);
VIR_FREE(capsFile);
VIR_FREE(replies);
- VIR_FREE(caps);
qemuMonitorTestFree(mon);
virObjectUnref(capsProvided);
virObjectUnref(capsComputed);
diff --git a/tests/qemucaps2xmltest.c b/tests/qemucaps2xmltest.c
index cef57354e..3529acb7d 100644
--- a/tests/qemucaps2xmltest.c
+++ b/tests/qemucaps2xmltest.c
@@ -110,7 +110,7 @@ testGetCaps(char *capsData, const testQemuData *data)
goto error;
}
- if ((caps = virCapabilitiesNew(data->guestarch, 0, 0)) == NULL) {
+ if ((caps = virCapabilitiesNew(data->guestarch, false, false)) == NULL) {
fprintf(stderr, "failed to create the fake capabilities");
goto error;
}
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 2099dc874..baee80a7a 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -583,6 +583,7 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
int ret = -1;
char **params = NULL;
int nparams = 0;
+ bool found = false;
if (!test)
return -1;
@@ -604,7 +605,8 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
/* present with params */
if ((nparams = qemuMonitorGetCommandLineOptionParameters(qemuMonitorTestGetMonitor(test),
"option-rom",
- &params)) < 0)
+ &params,
+ NULL)) < 0)
goto cleanup;
if (nparams != 2) {
@@ -634,7 +636,8 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
/* present but empty */
if ((nparams = qemuMonitorGetCommandLineOptionParameters(qemuMonitorTestGetMonitor(test),
"acpi",
- &params)) < 0)
+ &params,
+ &found)) < 0)
goto cleanup;
if (nparams != 0) {
@@ -642,6 +645,11 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
"nparams was %d, expected 0", nparams);
goto cleanup;
}
+ if (!found) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ "found was false, expected true");
+ goto cleanup;
+ }
if (params && params[0]) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
"unexpected array contents");
@@ -654,7 +662,8 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
/* no such option */
if ((nparams = qemuMonitorGetCommandLineOptionParameters(qemuMonitorTestGetMonitor(test),
"foobar",
- &params)) < 0)
+ &params,
+ &found)) < 0)
goto cleanup;
if (nparams != 0) {
@@ -662,6 +671,11 @@ testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
"nparams was %d, expected 0", nparams);
goto cleanup;
}
+ if (found) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ "found was true, expected false");
+ goto cleanup;
+ }
if (params && params[0]) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
"unexpected array contents");
@@ -1164,7 +1178,7 @@ GEN_TEST_FUNC(qemuMonitorJSONAddDevice, "some_dummy_devicestr")
GEN_TEST_FUNC(qemuMonitorJSONSetDrivePassphrase, "vda", "secret_passhprase")
GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", NULL, 1024,
VIR_DOMAIN_BLOCK_REBASE_SHALLOW | VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT)
-GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", 1024)
+GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "/foo/bar1", "/foo/bar2", NULL, 1024)
GEN_TEST_FUNC(qemuMonitorJSONDrivePivot, "vdb", NULL, NULL)
GEN_TEST_FUNC(qemuMonitorJSONScreendump, "/foo/bar")
GEN_TEST_FUNC(qemuMonitorJSONOpenGraphics, "spice", "spicefd", false)
@@ -1992,6 +2006,52 @@ testQemuMonitorJSONqemuMonitorJSONSendKeyHoldtime(const void *data)
}
static int
+testQemuMonitorJSONqemuMonitorSupportsActiveCommit(const void *data)
+{
+ virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
+ qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ int ret = -1;
+ const char *error1 =
+ "{"
+ " \"error\": {"
+ " \"class\": \"DeviceNotFound\","
+ " \"desc\": \"Device 'bogus' not found\""
+ " }"
+ "}";
+ const char *error2 =
+ "{"
+ " \"error\": {"
+ " \"class\": \"GenericError\","
+ " \"desc\": \"Parameter 'top' is missing\""
+ " }"
+ "}";
+
+ if (!test)
+ return -1;
+
+ if (qemuMonitorTestAddItemParams(test, "block-commit", error1,
+ "device", "\"bogus\"",
+ NULL, NULL) < 0)
+ goto cleanup;
+
+ if (!qemuMonitorSupportsActiveCommit(qemuMonitorTestGetMonitor(test)))
+ goto cleanup;
+
+ if (qemuMonitorTestAddItemParams(test, "block-commit", error2,
+ "device", "\"bogus\"",
+ NULL, NULL) < 0)
+ goto cleanup;
+
+ if (qemuMonitorSupportsActiveCommit(qemuMonitorTestGetMonitor(test)))
+ goto cleanup;
+
+ ret = 0;
+ cleanup:
+ qemuMonitorTestFree(test);
+ return ret;
+}
+
+static int
testQemuMonitorJSONqemuMonitorJSONGetDumpGuestMemoryCapability(const void *data)
{
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
@@ -2263,6 +2323,7 @@ mymain(void)
DO_TEST(qemuMonitorJSONSendKey);
DO_TEST(qemuMonitorJSONGetDumpGuestMemoryCapability);
DO_TEST(qemuMonitorJSONSendKeyHoldtime);
+ DO_TEST(qemuMonitorSupportsActiveCommit);
DO_TEST_CPU_DATA("host");
DO_TEST_CPU_DATA("full");
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.args b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.args
new file mode 100644
index 000000000..073e84b4d
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.args
@@ -0,0 +1,6 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc \
+-m 214 -smp 16 -numa node,nodeid=0,cpus=0-3,cpus=8-11,mem=107 \
+-numa node,nodeid=1,cpus=4-7,cpus=12-15,mem=107 -nographic -monitor \
+unix:/tmp/test-monitor,server,nowait -no-acpi -boot n -usb -net none -serial none \
+-parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.xml
new file mode 100644
index 000000000..474a23881
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa-disjoint.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>16</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='network'/>
+ </os>
+ <cpu>
+ <topology sockets='2' cores='4' threads='2'/>
+ <numa>
+ <cell id='0' cpus='0-3,8-11' memory='109550'/>
+ <cell id='1' cpus='4-7,12-15' memory='109550'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml
index ee402c8f7..0543f7f79 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa1.xml
@@ -9,10 +9,10 @@
<boot dev='network'/>
</os>
<cpu>
- <topology sockets="2" cores="4" threads="2"/>
+ <topology sockets='2' cores='4' threads='2'/>
<numa>
- <cell cpus="0-7" memory="109550"/>
- <cell cpus="8-15" memory="109550"/>
+ <cell cpus='0-7' memory='109550'/>
+ <cell cpus='8-15' memory='109550'/>
</numa>
</cpu>
<clock offset='utc'/>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml
index ee402c8f7..0a5f9fcd1 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa2.xml
@@ -9,10 +9,10 @@
<boot dev='network'/>
</os>
<cpu>
- <topology sockets="2" cores="4" threads="2"/>
+ <topology sockets='2' cores='4' threads='2'/>
<numa>
- <cell cpus="0-7" memory="109550"/>
- <cell cpus="8-15" memory="109550"/>
+ <cell id='1' cpus='8-15' memory='109550'/>
+ <cell id='0' cpus='0-7' memory='109550'/>
</numa>
</cpu>
<clock offset='utc'/>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml
new file mode 100644
index 000000000..fa3070df2
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-cpu-numa3.xml
@@ -0,0 +1,25 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>16</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='network'/>
+ </os>
+ <cpu>
+ <topology sockets='2' cores='4' threads='2'/>
+ <numa>
+ <cell id='1' cpus='0-7' memory='109550'/>
+ <cell id='2' cpus='8-15' memory='109550'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml
new file mode 100644
index 000000000..6ba572473
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-active-commit.xml
@@ -0,0 +1,37 @@
+<domain type='qemu' id='1'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <source file='/tmp/HostVG/QEMUGuest1-snap'/>
+ <backingStore type='block' index='1'>
+ <format type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <backingStore/>
+ </backingStore>
+ <mirror type='block' job='active-commit'>
+ <format type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ </mirror>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
index dd8fee4b1..4c5e1bebe 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.args
@@ -3,5 +3,7 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi -boot c -usb \
-drive file=iscsi://myname:AQCVn5hO6HzFAhAAq0NCv8jtJcIcE+HOBlMQ1A@example.org\
-/iqn.1992-01.com.example,if=virtio,format=raw \
+:6000/iqn.1992-01.com.example,if=virtio,format=raw \
+-drive file=iscsi://example.org:6000/iqn.1992-01.com.example/1,if=virtio,\
+format=raw \
-net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml
index ee87bdfbc..45df27066 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-iscsi-auth.xml
@@ -20,13 +20,19 @@
<secret type='iscsi' usage='mycluster_myname'/>
</auth>
<source protocol='iscsi' name='iqn.1992-01.com.example'>
- <host name='example.org'/>
+ <host name='example.org' port='6000'/>
</source>
<target dev='vda' bus='virtio'/>
</disk>
+ <disk type='network' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source protocol='iscsi' name='iqn.1992-01.com.example/1'>
+ <host name='example.org' port='6000'/>
+ </source>
+ <target dev='vdb' bus='virtio'/>
+ </disk>
<controller type='usb' index='0'/>
- <controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
- <memballoon model='virtio'/>
+ <memballoon model='none'/>
</devices>
</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.xml
index 189ce6bec..72923ea21 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-drive-network-rbd-auth.xml
@@ -15,6 +15,7 @@
<devices>
<emulator>/usr/bin/qemu</emulator>
<disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
@@ -33,6 +34,7 @@
</disk>
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
- <memballoon model='virtio'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='none'/>
</devices>
</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml
index 72b03c96b..46f2a3eef 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml
@@ -17,7 +17,7 @@
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<backingStore/>
- <mirror type='file' file='/dev/HostVG/QEMUGuest1Copy' ready='yes'>
+ <mirror type='file' file='/dev/HostVG/QEMUGuest1Copy' job='copy' ready='yes'>
<source file='/dev/HostVG/QEMUGuest1Copy'/>
</mirror>
<target dev='hda' bus='ide'/>
@@ -33,7 +33,7 @@
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
<backingStore/>
- <mirror type='file' file='/tmp/copy.img' format='qcow2'>
+ <mirror type='file' file='/tmp/copy.img' format='qcow2' job='copy'>
<format type='qcow2'/>
<source file='/tmp/copy.img'/>
</mirror>
@@ -42,6 +42,10 @@
<disk type='file' device='disk'>
<source file='/tmp/logs.img'/>
<backingStore/>
+ <mirror type='file' file='/tmp/logcopy.img' format='qcow2' job='copy' ready='abort'>
+ <format type='qcow2'/>
+ <source file='/tmp/logcopy.img'/>
+ </mirror>
<target dev='vdb' bus='virtio'/>
</disk>
<controller type='usb' index='0'/>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
new file mode 100644
index 000000000..2c757905b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.args
@@ -0,0 +1,9 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 214 -smp 8 -nographic -nodefconfig -nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
+-device virtio-scsi-pci,id=scsi0,cmd_per_lun=50,bus=pci.0,addr=0x3 \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
+-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml
new file mode 100644
index 000000000..615a7f5ba
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-cmd_per_lun.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>8</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='sdb' bus='scsi'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='scsi' index='0' model='virtio-scsi'>
+ <driver cmd_per_lun='50'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
new file mode 100644
index 000000000..895f37992
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.args
@@ -0,0 +1,9 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 214 -smp 8 -nographic -nodefconfig -nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
+-device virtio-scsi-pci,id=scsi0,max_sectors=512,bus=pci.0,addr=0x3 \
+-usb \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-scsi0-0-0-0 \
+-device scsi-disk,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\
+drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.xml
new file mode 100644
index 000000000..cd7d4a7de
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-virtio-scsi-max_sectors.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>8</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='sdb' bus='scsi'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='scsi' index='0' model='virtio-scsi'>
+ <driver max_sectors='512'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
new file mode 100644
index 000000000..042683acf
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.args
@@ -0,0 +1,16 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 4096 -smp 4 \
+-object memory-backend-file,prealloc=yes,mem-path=/dev/hugepages1G/libvirt/qemu,\
+size=1024M,id=ram-node0,host-nodes=0-3,policy=bind \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-file,prealloc=yes,mem-path=/dev/hugepages2M/libvirt/qemu,\
+size=1024M,id=ram-node1,host-nodes=0-3,policy=bind \
+-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
+-object memory-backend-file,prealloc=yes,mem-path=/dev/hugepages1G/libvirt/qemu,\
+size=1024M,id=ram-node2,host-nodes=0-3,policy=bind \
+-numa node,nodeid=2,cpus=2,memdev=ram-node2 \
+-object memory-backend-file,prealloc=yes,mem-path=/dev/hugepages1G/libvirt/qemu,\
+size=1024M,id=ram-node3,host-nodes=3,policy=bind \
+-numa node,nodeid=3,cpus=3,memdev=ram-node3 \
+-nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
+-hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.xml b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.xml
new file mode 100644
index 000000000..5ad069573
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages.xml
@@ -0,0 +1,45 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>4194304</memory>
+ <currentMemory unit='KiB'>4194304</currentMemory>
+ <memoryBacking>
+ <hugepages>
+ <page size='2048' unit='KiB' nodeset='1'/>
+ <page size='1048576' unit='KiB' nodeset='0,2-3'/>
+ </hugepages>
+ </memoryBacking>
+ <vcpu placement='static'>4</vcpu>
+ <numatune>
+ <memory mode='strict' nodeset='0-3'/>
+ <memnode cellid='3' mode='strict' nodeset='3'/>
+ </numatune>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='1048576'/>
+ <cell id='1' cpus='1' memory='1048576'/>
+ <cell id='2' cpus='2' memory='1048576'/>
+ <cell id='3' cpus='3' memory='1048576'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
new file mode 100644
index 000000000..9211bc64b
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.args
@@ -0,0 +1,10 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 1024 -smp 2 \
+-object memory-backend-file,prealloc=yes,\
+mem-path=/dev/hugepages2M/libvirt/qemu,size=256M,id=ram-node0 \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-file,prealloc=yes,\
+mem-path=/dev/hugepages2M/libvirt/qemu,size=768M,id=ram-node1 \
+-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
+-nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
+-usb -hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.xml b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.xml
new file mode 100644
index 000000000..3df870b6a
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages2.xml
@@ -0,0 +1,38 @@
+<domain type='qemu'>
+ <name>SomeDummyHugepagesGuest</name>
+ <uuid>ef1bdff4-27f3-4e85-a807-5fb4d58463cc</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <memoryBacking>
+ <hugepages>
+ <page size='2048' unit='KiB'/>
+ </hugepages>
+ </memoryBacking>
+ <vcpu placement='static'>2</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='262144'/>
+ <cell id='1' cpus='1' memory='786432'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
new file mode 100644
index 000000000..27b3f8ef4
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.args
@@ -0,0 +1,9 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M pc -m 1024 -smp 2 \
+-object memory-backend-ram,size=256M,id=ram-node0 \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-file,prealloc=yes,\
+mem-path=/dev/hugepages1G/libvirt/qemu,size=768M,id=ram-node1 \
+-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
+-nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
+-hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.xml b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.xml
new file mode 100644
index 000000000..35aa2cf94
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages-pages3.xml
@@ -0,0 +1,38 @@
+<domain type='qemu'>
+ <name>SomeDummyHugepagesGuest</name>
+ <uuid>ef1bdff4-27f3-4e85-a807-5fb4d58463cc</uuid>
+ <memory unit='KiB'>1048576</memory>
+ <currentMemory unit='KiB'>1048576</currentMemory>
+ <memoryBacking>
+ <hugepages>
+ <page size='1048576' unit='KiB' nodeset='1'/>
+ </hugepages>
+ </memoryBacking>
+ <vcpu placement='static'>2</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='262144'/>
+ <cell id='1' cpus='1' memory='786432'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
index d42d9fc50..51c5d623a 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-hugepages.args
@@ -1,5 +1,5 @@
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu -S -M \
-pc -m 214 -mem-prealloc -mem-path /dev/hugepages/libvirt/qemu -smp 1 \
+pc -m 214 -mem-prealloc -mem-path /dev/hugepages2M/libvirt/qemu -smp 1 \
-nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb -hda \
/dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
new file mode 100644
index 000000000..cc66ec3ff
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args
@@ -0,0 +1,7 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S -M \
+pc -m 214 -smp 1 -nographic -nodefaults -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \
+-chardev socket,id=charnet0,path=/tmp/vhost.sock,server \
+-netdev type=vhost-user,id=hostnet0,chardev=charnet0 \
+-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ee:96:6b,bus=pci.0,addr=0x3
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml
new file mode 100644
index 000000000..b49d48ef9
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml
@@ -0,0 +1,33 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <interface type='vhostuser'>
+ <mac address='52:54:00:ee:96:6b'/>
+ <source type='unix' path='/tmp/vhost.sock' mode='server'/>
+ <model type='virtio'/>
+ </interface>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml
new file mode 100644
index 000000000..63f0d1fa3
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-auto-prefer.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>65536</memory>
+ <currentMemory unit='KiB'>65536</currentMemory>
+ <vcpu placement='auto'>1</vcpu>
+ <numatune>
+ <memory mode='preferred'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='65536'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.args
new file mode 100644
index 000000000..b0e274ca0
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.args
@@ -0,0 +1,8 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/kvm -S -M pc -m 64 -smp 2 \
+-object memory-backend-ram,size=32M,id=ram-node0,host-nodes=3,policy=preferred \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-ram,size=32M,id=ram-node1 \
+-numa node,nodeid=1,cpus=1,memdev=ram-node1 \
+-nographic -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -usb -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.xml
new file mode 100644
index 000000000..4b2efa210
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-no-memory.xml
@@ -0,0 +1,30 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>65536</memory>
+ <currentMemory unit='KiB'>65536</currentMemory>
+ <vcpu placement='static'>2</vcpu>
+ <numatune>
+ <memnode cellid='0' mode='preferred' nodeset='3'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='32768'/>
+ <cell id='1' cpus='1' memory='32768'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml
new file mode 100644
index 000000000..7b0e2483a
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode-nocpu.xml
@@ -0,0 +1,25 @@
+<domain type='kvm'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>65536</memory>
+ <currentMemory unit='KiB'>65536</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <numatune>
+ <memory mode='strict' nodeset='0,2'/>
+ <memnode cellid='0' mode='interleave' nodeset='3'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
new file mode 100644
index 000000000..e4beb9808
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.args
@@ -0,0 +1,11 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/kvm -S -M pc -m 24104 -smp 32 \
+-object memory-backend-ram,size=20M,id=ram-node0,host-nodes=3,policy=preferred \
+-numa node,nodeid=0,cpus=0,memdev=ram-node0 \
+-object memory-backend-ram,size=645M,id=ram-node1,host-nodes=0-7,policy=bind \
+-numa node,nodeid=1,cpus=1-27,cpus=29,memdev=ram-node1 \
+-object memory-backend-ram,size=23440M,id=ram-node2,\
+host-nodes=1-2,host-nodes=5,host-nodes=7,policy=bind \
+-numa node,nodeid=2,cpus=28,cpus=30-31,memdev=ram-node2 \
+-nographic -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -usb -net none -serial none -parallel none
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.xml
new file mode 100644
index 000000000..440413bfc
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnode.xml
@@ -0,0 +1,33 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>24682468</memory>
+ <currentMemory unit='KiB'>24682468</currentMemory>
+ <vcpu placement='static'>32</vcpu>
+ <numatune>
+ <memnode cellid='0' mode='preferred' nodeset='3'/>
+ <memory mode='strict' nodeset='0-7'/>
+ <memnode cellid='2' mode='strict' nodeset='1-2,5-7,^6'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='20002'/>
+ <cell id='1' cpus='1-27,29' memory='660066'/>
+ <cell id='2' cpus='28-31,^29' memory='24002400'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml
new file mode 100644
index 000000000..bb4e4af04
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-numatune-memnodes-problematic.xml
@@ -0,0 +1,31 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>65536</memory>
+ <currentMemory unit='KiB'>65536</currentMemory>
+ <vcpu placement='auto'>2</vcpu>
+ <numatune>
+ <memory placement='auto'/>
+ <memnode cellid='0' mode='strict' nodeset='3'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='32768'/>
+ <cell id='1' cpus='1' memory='32768'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-none.xml b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-none.xml
new file mode 100644
index 000000000..cec59f8bf
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-dynamic-none.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static' cpuset='1-4,8-20,525'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+ <seclabel type='none' model='none'/>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-seclabel-multiple.xml b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-multiple.xml
new file mode 100644
index 000000000..bd6fd15e9
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-seclabel-multiple.xml
@@ -0,0 +1,40 @@
+<domain type='qemu' id='1'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static' cpuset='1-4,8-20,525'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='block' device='disk'>
+ <source dev='/dev/HostVG/QEMUGuest1'>
+ <seclabel model='selinux' labelskip='yes'/>
+ </source>
+ <backingStore/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+ <seclabel type='none' relabel='no'/>
+ <seclabel type='dynamic' model='dac' relabel='yes'/>
+ <seclabel type='static' model='selinux' relabel='yes'>
+ <label>system_u:system_r:svirt_custom_t:s0:c192,c392</label>
+ <imagelabel>system_u:system_r:svirt_custom_t:s0:c192,c392</imagelabel>
+ </seclabel>
+ <seclabel type='static' model='selinux' relabel='yes'>
+ <label>system_u:system_r:svirt_custom_t:s0:c192,c393</label>
+ <imagelabel>system_u:system_r:svirt_custom_t:s0:c192,c393</imagelabel>
+ </seclabel>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args
index 4ae6257f7..58cc47326 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-default.args
@@ -3,5 +3,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-S -M pc -m 214 -smp 1 -nographic -nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
--object rng-random,id=rng0 \
+-object rng-random,id=rng0,filename=/dev/random \
-device virtio-rng-pci,rng=rng0,bus=pci.0,addr=0x7
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.args b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.args
new file mode 100644
index 000000000..d1faf09e2
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.args
@@ -0,0 +1,10 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
+/usr/bin/qemu -S \
+-M pc -m 214 -smp 1 -nographic -nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -usb \
+-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
+-object rng-random,id=rng0,filename=/dev/random \
+-device virtio-rng-pci,rng=rng0,bus=pci.0,addr=0x7 \
+-chardev socket,id=charrng1,host=1.2.3.4,port=1234 \
+-object rng-egd,chardev=charrng1,id=rng1 \
+-device virtio-rng-pci,rng=rng1,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.xml b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.xml
new file mode 100644
index 000000000..31269d0a8
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-virtio-rng-multiple.xml
@@ -0,0 +1,31 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static' cpuset='1-4,8-20,525'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ <rng model='virtio'>
+ <backend model='random'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
+ </rng>
+ <rng model='virtio'>
+ <backend model='egd' type='tcp'>
+ <source mode='connect' host='1.2.3.4' service='1234'/>
+ <protocol type='raw'/>
+ </backend>
+ </rng>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 4ff13281d..12ecabcff 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -524,12 +524,16 @@ mymain(void)
VIR_FREE(driver.config->stateDir);
if (VIR_STRDUP_QUIET(driver.config->stateDir, "/nowhere") < 0)
return EXIT_FAILURE;
- VIR_FREE(driver.config->hugetlbfsMount);
- if (VIR_STRDUP_QUIET(driver.config->hugetlbfsMount, "/dev/hugepages") < 0)
+ VIR_FREE(driver.config->hugetlbfs);
+ if (VIR_ALLOC_N(driver.config->hugetlbfs, 2) < 0)
return EXIT_FAILURE;
- VIR_FREE(driver.config->hugepagePath);
- if (VIR_STRDUP_QUIET(driver.config->hugepagePath, "/dev/hugepages/libvirt/qemu") < 0)
+ driver.config->nhugetlbfs = 2;
+ if (VIR_STRDUP(driver.config->hugetlbfs[0].mnt_dir, "/dev/hugepages2M") < 0 ||
+ VIR_STRDUP(driver.config->hugetlbfs[1].mnt_dir, "/dev/hugepages1G") < 0)
return EXIT_FAILURE;
+ driver.config->hugetlbfs[0].size = 2048;
+ driver.config->hugetlbfs[0].deflt = true;
+ driver.config->hugetlbfs[1].size = 1048576;
driver.config->spiceTLS = 1;
if (VIR_STRDUP_QUIET(driver.config->spicePassword, "123456") < 0)
return EXIT_FAILURE;
@@ -663,6 +667,12 @@ mymain(void)
DO_TEST("hyperv-off", NONE);
DO_TEST("hugepages", QEMU_CAPS_MEM_PATH);
+ DO_TEST("hugepages-pages", QEMU_CAPS_MEM_PATH, QEMU_CAPS_OBJECT_MEMORY_RAM,
+ QEMU_CAPS_OBJECT_MEMORY_FILE);
+ DO_TEST("hugepages-pages2", QEMU_CAPS_MEM_PATH, QEMU_CAPS_OBJECT_MEMORY_RAM,
+ QEMU_CAPS_OBJECT_MEMORY_FILE);
+ DO_TEST("hugepages-pages3", QEMU_CAPS_MEM_PATH, QEMU_CAPS_OBJECT_MEMORY_RAM,
+ QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("nosharepages", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MEM_MERGE);
DO_TEST("disk-cdrom", NONE);
DO_TEST("disk-cdrom-network-http", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
@@ -809,6 +819,12 @@ mymain(void)
DO_TEST("disk-virtio-scsi-num_queues",
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
QEMU_CAPS_VIRTIO_SCSI);
+ DO_TEST("disk-virtio-scsi-cmd_per_lun",
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_VIRTIO_SCSI);
+ DO_TEST("disk-virtio-scsi-max_sectors",
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_VIRTIO_SCSI);
DO_TEST("disk-scsi-megasas",
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
QEMU_CAPS_SCSI_MEGASAS);
@@ -927,6 +943,7 @@ mymain(void)
DO_TEST_FAILURE("misc-enable-s4", NONE);
DO_TEST("misc-no-reboot", NONE);
DO_TEST("misc-uuid", QEMU_CAPS_NAME, QEMU_CAPS_UUID);
+ DO_TEST("net-vhostuser", QEMU_CAPS_DEVICE, QEMU_CAPS_NETDEV);
DO_TEST("net-user", NONE);
DO_TEST("net-virtio", NONE);
DO_TEST("net-virtio-device",
@@ -1171,6 +1188,9 @@ mymain(void)
DO_TEST("cpu-strict1", NONE);
DO_TEST("cpu-numa1", NONE);
DO_TEST("cpu-numa2", QEMU_CAPS_SMP_TOPOLOGY);
+ DO_TEST_PARSE_ERROR("cpu-numa3", NONE);
+ DO_TEST_FAILURE("cpu-numa-disjoint", NONE);
+ DO_TEST("cpu-numa-disjoint", QEMU_CAPS_NUMA);
DO_TEST("cpu-host-model", NONE);
skipLegacyCPUs = true;
DO_TEST("cpu-host-model-fallback", NONE);
@@ -1187,8 +1207,17 @@ mymain(void)
DO_TEST("blkiotune-device", QEMU_CAPS_NAME);
DO_TEST("cputune", QEMU_CAPS_NAME);
DO_TEST("cputune-zero-shares", QEMU_CAPS_NAME);
+
DO_TEST("numatune-memory", NONE);
+ DO_TEST("numatune-memnode", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+ DO_TEST_FAILURE("numatune-memnode", NONE);
+
+ DO_TEST("numatune-memnode-no-memory", QEMU_CAPS_NUMA, QEMU_CAPS_OBJECT_MEMORY_RAM);
+ DO_TEST_FAILURE("numatune-memnode-no-memory", NONE);
+
DO_TEST("numatune-auto-nodeset-invalid", NONE);
+ DO_TEST_PARSE_ERROR("numatune-memnode-nocpu", NONE);
+ DO_TEST_PARSE_ERROR("numatune-memnodes-problematic", NONE);
DO_TEST("numad", NONE);
DO_TEST("numad-auto-vcpu-static-numatune", NONE);
DO_TEST("numad-auto-memory-vcpu-cpuset", NONE);
@@ -1217,6 +1246,7 @@ mymain(void)
DO_TEST("seclabel-static-labelskip", QEMU_CAPS_NAME);
DO_TEST("seclabel-none", QEMU_CAPS_NAME);
DO_TEST("seclabel-dac-none", QEMU_CAPS_NAME);
+ DO_TEST_PARSE_ERROR("seclabel-multiple", QEMU_CAPS_NAME);
DO_TEST("pseries-basic",
QEMU_CAPS_CHARDEV, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG);
@@ -1263,6 +1293,8 @@ mymain(void)
QEMU_CAPS_OBJECT_RNG_RANDOM);
DO_TEST("virtio-rng-egd", QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_VIRTIO_RNG,
QEMU_CAPS_OBJECT_RNG_EGD);
+ DO_TEST("virtio-rng-multiple", QEMU_CAPS_DEVICE, QEMU_CAPS_DEVICE_VIRTIO_RNG,
+ QEMU_CAPS_OBJECT_RNG_EGD, QEMU_CAPS_OBJECT_RNG_RANDOM);
DO_TEST_PARSE_ERROR("virtio-rng-egd-crash", QEMU_CAPS_DEVICE,
QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_EGD);
DO_TEST("virtio-rng-ccw",
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa1.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa1.xml
new file mode 100644
index 000000000..227bf1cd0
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa1.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>16</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='network'/>
+ </os>
+ <cpu>
+ <topology sockets='2' cores='4' threads='2'/>
+ <numa>
+ <cell id='0' cpus='0-7' memory='109550'/>
+ <cell id='1' cpus='8-15' memory='109550'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa2.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa2.xml
new file mode 100644
index 000000000..227bf1cd0
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-cpu-numa2.xml
@@ -0,0 +1,28 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219100</memory>
+ <currentMemory unit='KiB'>219100</currentMemory>
+ <vcpu placement='static'>16</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='network'/>
+ </os>
+ <cpu>
+ <topology sockets='2' cores='4' threads='2'/>
+ <numa>
+ <cell id='0' cpus='0-7' memory='109550'/>
+ <cell id='1' cpus='8-15' memory='109550'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml
index 72b03c96b..abec1806e 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml
@@ -17,7 +17,7 @@
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<backingStore/>
- <mirror type='file' file='/dev/HostVG/QEMUGuest1Copy' ready='yes'>
+ <mirror type='file' file='/dev/HostVG/QEMUGuest1Copy' job='copy' ready='yes'>
<source file='/dev/HostVG/QEMUGuest1Copy'/>
</mirror>
<target dev='hda' bus='ide'/>
@@ -33,7 +33,7 @@
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
<backingStore/>
- <mirror type='file' file='/tmp/copy.img' format='qcow2'>
+ <mirror type='file' file='/tmp/copy.img' format='qcow2' job='copy'>
<format type='qcow2'/>
<source file='/tmp/copy.img'/>
</mirror>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml
new file mode 100644
index 000000000..19761b42d
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-auto-prefer.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>65536</memory>
+ <currentMemory unit='KiB'>65536</currentMemory>
+ <vcpu placement='auto'>1</vcpu>
+ <numatune>
+ <memory mode='preferred' placement='auto'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='65536'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode.xml
new file mode 100644
index 000000000..82b5f6187
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-numatune-memnode.xml
@@ -0,0 +1,33 @@
+<domain type='qemu'>
+ <name>QEMUGuest</name>
+ <uuid>9f4b6512-e73a-4a25-93e8-5307802821ce</uuid>
+ <memory unit='KiB'>24682468</memory>
+ <currentMemory unit='KiB'>24682468</currentMemory>
+ <vcpu placement='static'>32</vcpu>
+ <numatune>
+ <memory mode='strict' nodeset='0-7'/>
+ <memnode cellid='0' mode='preferred' nodeset='3'/>
+ <memnode cellid='2' mode='strict' nodeset='1-2,5,7'/>
+ </numatune>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu>
+ <numa>
+ <cell id='0' cpus='0' memory='20002'/>
+ <cell id='1' cpus='1-27,29' memory='660066'/>
+ <cell id='2' cpus='28-31,^29' memory='24002400'/>
+ </numa>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/kvm</emulator>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 43cd02224..451dedcff 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -197,6 +197,9 @@ mymain(void)
DO_TEST("hyperv-off");
DO_TEST("hugepages");
+ DO_TEST("hugepages-pages");
+ DO_TEST("hugepages-pages2");
+ DO_TEST("hugepages-pages3");
DO_TEST("nosharepages");
DO_TEST("disk-aio");
DO_TEST("disk-cdrom");
@@ -223,10 +226,13 @@ mymain(void)
DO_TEST("disk-scsi-vscsi");
DO_TEST("disk-scsi-virtio-scsi");
DO_TEST("disk-virtio-scsi-num_queues");
+ DO_TEST("disk-virtio-scsi-cmd_per_lun");
+ DO_TEST("disk-virtio-scsi-max_sectors");
DO_TEST("disk-scsi-megasas");
DO_TEST_DIFFERENT("disk-mirror-old");
DO_TEST_FULL("disk-mirror", false, WHEN_ACTIVE);
DO_TEST_FULL("disk-mirror", true, WHEN_INACTIVE);
+ DO_TEST_FULL("disk-active-commit", false, WHEN_ACTIVE);
DO_TEST("graphics-listen-network");
DO_TEST("graphics-vnc");
DO_TEST("graphics-vnc-websocket");
@@ -245,6 +251,7 @@ mymain(void)
DO_TEST("misc-disable-suspends");
DO_TEST("misc-enable-s4");
DO_TEST("misc-no-reboot");
+ DO_TEST("net-vhostuser");
DO_TEST("net-user");
DO_TEST("net-virtio");
DO_TEST("net-virtio-device");
@@ -305,6 +312,7 @@ mymain(void)
DO_TEST_FULL("seclabel-static-labelskip", false, WHEN_ACTIVE);
DO_TEST("seclabel-none");
DO_TEST("seclabel-dac-none");
+ DO_TEST("seclabel-dynamic-none");
DO_TEST("numad-static-vcpu-no-numatune");
DO_TEST("disk-scsi-lun-passthrough-sgio");
@@ -366,6 +374,14 @@ mymain(void)
DO_TEST("chardev-label");
+ DO_TEST_DIFFERENT("cpu-numa1");
+ DO_TEST_DIFFERENT("cpu-numa2");
+ DO_TEST("cpu-numa-disjoint");
+
+ DO_TEST_DIFFERENT("numatune-auto-prefer");
+ DO_TEST_DIFFERENT("numatune-memnode");
+ DO_TEST("numatune-memnode-no-memory");
+
virObjectUnref(driver.caps);
virObjectUnref(driver.xmlopt);
diff --git a/tests/scsihosttest.c b/tests/scsihosttest.c
new file mode 100644
index 000000000..eecb1c3ad
--- /dev/null
+++ b/tests/scsihosttest.c
@@ -0,0 +1,308 @@
+/*
+ * Copyright (C) 2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include <config.h>
+
+#include "testutils.h"
+
+#ifdef __linux__
+
+# include <fcntl.h>
+# include <sys/stat.h>
+# include "virstring.h"
+# include "virutil.h"
+# include "virerror.h"
+# include "virlog.h"
+
+# define VIR_FROM_THIS VIR_FROM_NONE
+
+VIR_LOG_INIT("tests.scsihosttest");
+
+char *scsihost_class_path;
+# define TEST_SCSIHOST_CLASS_PATH scsihost_class_path
+
+/*
+ * Initialized/create a mock sysfs environment with 4 scsi_host devices
+ * located on "0000:00:1f.1" and "0000:00:1f.2". Each directory will
+ * contain 4 unique_id files having the same value.
+ *
+ * The environment is:
+ *
+ * 4 files:
+ *
+ * sys/devices/pci0000:00/0000:00:1f.1/ata1/host0/scsi_host/host0/unique_id
+ * sys/devices/pci0000:00/0000:00:1f.1/ata2/host1/scsi_host/host1/unique_id
+ * sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/scsi_host/host0/unique_id
+ * sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/scsi_host/host1/unique_id
+ *
+ * 4 symlinks:
+ *
+ * sys/class/scsi_host/host0 -> link to 1f.1 host 0
+ * sys/class/scsi_host/host1 -> link to 1f.1 host 1
+ * sys/class/scsi_host/host2 -> link to 1f.2 host 0
+ * sys/class/scsi_host/host3 -> link to 1f.2 host 1
+ *
+ * The unique_id's for host0 and host2 are set to "1"
+ * The unique_id's for host1 and host3 are set to "2"
+ */
+
+static int
+create_scsihost(const char *fakesysfsdir, const char *devicepath,
+ const char *unique_id, const char *hostname)
+{
+ char *unique_id_path = NULL;
+ char *link_path = NULL;
+ char *spot;
+ int ret = -1;
+ int fd = -1;
+
+ if (virAsprintfQuiet(&unique_id_path, "%s/devices/pci0000:00/%s/unique_id",
+ fakesysfsdir, devicepath) < 0 ||
+ virAsprintfQuiet(&link_path, "%s/class/scsi_host/%s",
+ fakesysfsdir, hostname) < 0) {
+ fprintf(stderr, "Out of memory\n");
+ goto cleanup;
+ }
+
+ /* Rather than create path & file, temporarily snip off the file to
+ * create the path
+ */
+ if (!(spot = strstr(unique_id_path, "unique_id"))) {
+ fprintf(stderr, "Did not find unique_id in path\n");
+ goto cleanup;
+ }
+ spot--;
+ *spot = '\0';
+ if (virFileMakePathWithMode(unique_id_path, 0755) < 0) {
+ fprintf(stderr, "Unable to make path to '%s'\n", unique_id_path);
+ goto cleanup;
+ }
+ *spot = '/';
+
+ /* Rather than create path & file, temporarily snip off the file to
+ * create the path
+ */
+ if (!(spot = strstr(link_path, hostname))) {
+ fprintf(stderr, "Did not find hostname in path\n");
+ goto cleanup;
+ }
+ spot--;
+ *spot = '\0';
+ if (virFileMakePathWithMode(link_path, 0755) < 0) {
+ fprintf(stderr, "Unable to make path to '%s'\n", link_path);
+ goto cleanup;
+ }
+ *spot = '/';
+
+ if ((fd = open(unique_id_path, O_CREAT|O_WRONLY, 0444)) < 0) {
+ fprintf(stderr, "Unable to create '%s'\n", unique_id_path);
+ goto cleanup;
+ }
+
+ if (safewrite(fd, unique_id, 1) != 1) {
+ fprintf(stderr, "Unable to write '%s'\n", unique_id);
+ goto cleanup;
+ }
+ VIR_DEBUG("Created unique_id '%s'", unique_id_path);
+
+ /* The link is to the path not the file - so remove the file */
+ if (!(spot = strstr(unique_id_path, "unique_id"))) {
+ fprintf(stderr, "Did not find unique_id in path\n");
+ goto cleanup;
+ }
+ spot--;
+ *spot = '\0';
+ if (symlink(unique_id_path, link_path) < 0) {
+ fprintf(stderr, "Unable to create symlink '%s' to '%s'\n",
+ link_path, unique_id_path);
+ goto cleanup;
+ }
+ VIR_DEBUG("Created symlink '%s'", link_path);
+
+ ret = 0;
+
+ cleanup:
+ VIR_FORCE_CLOSE(fd);
+ VIR_FREE(unique_id_path);
+ VIR_FREE(link_path);
+ return ret;
+}
+
+static int
+init_scsihost_sysfs(const char *fakesysfsdir)
+{
+ int ret = 0;
+
+ if (create_scsihost(fakesysfsdir,
+ "0000:00:1f.1/ata1/host0/scsi_host/host0",
+ "1", "host0") < 0 ||
+ create_scsihost(fakesysfsdir,
+ "0000:00:1f.1/ata2/host1/scsi_host/host1",
+ "2", "host1") < 0 ||
+ create_scsihost(fakesysfsdir,
+ "0000:00:1f.2/ata1/host0/scsi_host/host0",
+ "1", "host2") < 0 ||
+ create_scsihost(fakesysfsdir,
+ "0000:00:1f.2/ata2/host1/scsi_host/host1",
+ "2", "host3") < 0)
+ ret = -1;
+
+ return ret;
+}
+
+/* Test virReadSCSIUniqueId */
+static int
+testVirReadSCSIUniqueId(const void *data ATTRIBUTE_UNUSED)
+{
+ int hostnum, unique_id;
+
+ for (hostnum = 0; hostnum < 4; hostnum++) {
+ if (virReadSCSIUniqueId(TEST_SCSIHOST_CLASS_PATH,
+ hostnum, &unique_id) < 0) {
+ fprintf(stderr, "Failed to read hostnum=%d unique_id\n", hostnum);
+ return -1;
+ }
+
+ /* host0 and host2 have unique_id == 1
+ * host1 and host3 have unique_id == 2
+ */
+ if ((hostnum == 0 || hostnum == 2) && unique_id != 1) {
+ fprintf(stderr, "The unique_id='%d' for hostnum=%d is wrong\n",
+ unique_id, hostnum);
+ return -1;
+ } else if ((hostnum == 1 || hostnum == 3) && unique_id != 2) {
+ fprintf(stderr, "The unique_id='%d' for hostnum=%d is wrong\n",
+ unique_id, hostnum);
+ return -1;
+ }
+ }
+
+ return 0;
+}
+
+/* Test virFindSCSIHostByPCI */
+static int
+testVirFindSCSIHostByPCI(const void *data ATTRIBUTE_UNUSED)
+{
+ unsigned int unique_id1 = 1;
+ unsigned int unique_id2 = 2;
+ const char *pci_addr1 = "0000:00:1f.1";
+ const char *pci_addr2 = "0000:00:1f.2";
+ char *path_addr = NULL;
+ char *ret_host = NULL;
+ int ret = -1;
+
+ if (virAsprintf(&path_addr, "%s/%s", abs_srcdir,
+ "sysfs/class/scsi_host") < 0)
+ goto cleanup;
+
+ if (!(ret_host = virFindSCSIHostByPCI(TEST_SCSIHOST_CLASS_PATH,
+ pci_addr1, unique_id1)) ||
+ STRNEQ(ret_host, "host0"))
+ goto cleanup;
+ VIR_FREE(ret_host);
+
+ if (!(ret_host = virFindSCSIHostByPCI(TEST_SCSIHOST_CLASS_PATH,
+ pci_addr1, unique_id2)) ||
+ STRNEQ(ret_host, "host1"))
+ goto cleanup;
+ VIR_FREE(ret_host);
+
+ if (!(ret_host = virFindSCSIHostByPCI(TEST_SCSIHOST_CLASS_PATH,
+ pci_addr2, unique_id1)) ||
+ STRNEQ(ret_host, "host2"))
+ goto cleanup;
+ VIR_FREE(ret_host);
+
+ if (!(ret_host = virFindSCSIHostByPCI(TEST_SCSIHOST_CLASS_PATH,
+ pci_addr2, unique_id2)) ||
+ STRNEQ(ret_host, "host3"))
+ goto cleanup;
+ VIR_FREE(ret_host);
+
+ ret = 0;
+
+ cleanup:
+ VIR_FREE(ret_host);
+ VIR_FREE(path_addr);
+ return ret;
+}
+
+# define FAKESYSFSDIRTEMPLATE abs_builddir "/fakesysfsdir-XXXXXX"
+
+static int
+mymain(void)
+{
+ int ret = -1;
+ char *fakesysfsdir = NULL;
+
+ if (VIR_STRDUP_QUIET(fakesysfsdir, FAKESYSFSDIRTEMPLATE) < 0) {
+ fprintf(stderr, "Out of memory\n");
+ goto cleanup;
+ }
+
+ if (!mkdtemp(fakesysfsdir)) {
+ fprintf(stderr, "Cannot create fakesysfsdir");
+ goto cleanup;
+ }
+
+ setenv("LIBVIRT_FAKE_SYSFS_DIR", fakesysfsdir, 1);
+
+ if (init_scsihost_sysfs(fakesysfsdir) < 0) {
+ fprintf(stderr, "Failed to create fakesysfs='%s'\n", fakesysfsdir);
+ goto cleanup;
+ }
+
+ if (virAsprintfQuiet(&scsihost_class_path, "%s/class/scsi_host",
+ fakesysfsdir) < 0) {
+ fprintf(stderr, "Out of memory\n");
+ goto cleanup;
+ }
+ VIR_DEBUG("Reading from '%s'", scsihost_class_path);
+
+ if (virtTestRun("testVirReadSCSIUniqueId",
+ testVirReadSCSIUniqueId, NULL) < 0) {
+ ret = -1;
+ goto cleanup;
+ }
+
+ if (virtTestRun("testVirFindSCSIHostByPCI",
+ testVirFindSCSIHostByPCI, NULL) < 0) {
+ ret = -1;
+ goto cleanup;
+ }
+
+ ret = 0;
+
+ cleanup:
+ if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
+ virFileDeleteTree(fakesysfsdir);
+ VIR_FREE(fakesysfsdir);
+ VIR_FREE(scsihost_class_path);
+ return ret;
+}
+
+VIRT_TEST_MAIN(mymain)
+#else
+int
+main(void)
+{
+ return EXIT_AM_SKIP;
+}
+#endif
diff --git a/tests/statstest.c b/tests/statstest.c
index ce1567cf1..f9b45738d 100644
--- a/tests/statstest.c
+++ b/tests/statstest.c
@@ -5,7 +5,7 @@
#include <string.h>
#include <sys/utsname.h>
-#include "virstatslinux.h"
+#include "virstats.h"
#include "internal.h"
#include "xen/block_stats.h"
#include "testutils.h"
diff --git a/tests/storagepoolxml2xmlin/pool-netfs-gluster-without-slash.xml b/tests/storagepoolxml2xmlin/pool-netfs-gluster-without-slash.xml
new file mode 100644
index 000000000..69a2c6d2d
--- /dev/null
+++ b/tests/storagepoolxml2xmlin/pool-netfs-gluster-without-slash.xml
@@ -0,0 +1,12 @@
+<pool type='netfs'>
+ <source>
+ <host name='example.com'/>
+ <format type='glusterfs'/>
+ <dir path='volume'/>
+ </source>
+ <name>netfs-gluster</name>
+ <uuid>d5609ced-94b1-489e-b218-eff35c30336a</uuid>
+ <target>
+ <path>/mnt/gluster</path>
+ </target>
+</pool>
diff --git a/tests/storagepoolxml2xmlin/pool-scsi-type-scsi-host-stable.xml b/tests/storagepoolxml2xmlin/pool-scsi-type-scsi-host-stable.xml
new file mode 100644
index 000000000..db13cd05a
--- /dev/null
+++ b/tests/storagepoolxml2xmlin/pool-scsi-type-scsi-host-stable.xml
@@ -0,0 +1,19 @@
+<pool type="scsi">
+ <name>hba0</name>
+ <uuid>e9392370-2917-565e-692b-d057f46512d6</uuid>
+ <source>
+ <adapter type='scsi_host'>
+ <parentaddr unique_id='5'>
+ <address domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
+ </parentaddr>
+ </adapter>
+ </source>
+ <target>
+ <path>/dev/disk/by-path</path>
+ <permissions>
+ <mode>0700</mode>
+ <owner>0</owner>
+ <group>0</group>
+ </permissions>
+ </target>
+</pool>
diff --git a/tests/storagepoolxml2xmlout/pool-scsi-type-scsi-host-stable.xml b/tests/storagepoolxml2xmlout/pool-scsi-type-scsi-host-stable.xml
new file mode 100644
index 000000000..dd3d87db5
--- /dev/null
+++ b/tests/storagepoolxml2xmlout/pool-scsi-type-scsi-host-stable.xml
@@ -0,0 +1,22 @@
+<pool type='scsi'>
+ <name>hba0</name>
+ <uuid>e9392370-2917-565e-692b-d057f46512d6</uuid>
+ <capacity unit='bytes'>0</capacity>
+ <allocation unit='bytes'>0</allocation>
+ <available unit='bytes'>0</available>
+ <source>
+ <adapter type='scsi_host'>
+ <parentaddr unique_id='5'>
+ <address domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
+ </parentaddr>
+ </adapter>
+ </source>
+ <target>
+ <path>/dev/disk/by-path</path>
+ <permissions>
+ <mode>0700</mode>
+ <owner>0</owner>
+ <group>0</group>
+ </permissions>
+ </target>
+</pool>
diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c
index 971fe3bb0..d7ae10b41 100644
--- a/tests/storagepoolxml2xmltest.c
+++ b/tests/storagepoolxml2xmltest.c
@@ -104,6 +104,7 @@ mymain(void)
DO_TEST("pool-sheepdog");
DO_TEST("pool-gluster");
DO_TEST("pool-gluster-sub");
+ DO_TEST("pool-scsi-type-scsi-host-stable");
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/tests/storagevolxml2argvdata/qcow2-nocow-compat.argv b/tests/storagevolxml2argvdata/qcow2-nocow-compat.argv
new file mode 100644
index 000000000..d5a754701
--- /dev/null
+++ b/tests/storagevolxml2argvdata/qcow2-nocow-compat.argv
@@ -0,0 +1,3 @@
+qemu-img create -f qcow2 -b /dev/null \
+-o backing_fmt=raw,encryption=on,nocow=on,compat=0.10 \
+/var/lib/libvirt/images/OtherDemo.img 5242880K
diff --git a/tests/storagevolxml2argvdata/qcow2-nocow.argv b/tests/storagevolxml2argvdata/qcow2-nocow.argv
new file mode 100644
index 000000000..e54801c78
--- /dev/null
+++ b/tests/storagevolxml2argvdata/qcow2-nocow.argv
@@ -0,0 +1,3 @@
+qemu-img create -f qcow2 -b /dev/null \
+-o backing_fmt=raw,encryption=on,nocow=on \
+/var/lib/libvirt/images/OtherDemo.img 5242880K
diff --git a/tests/storagevolxml2argvtest.c b/tests/storagevolxml2argvtest.c
index 11d70e12a..2a45f6f3c 100644
--- a/tests/storagevolxml2argvtest.c
+++ b/tests/storagevolxml2argvtest.c
@@ -296,6 +296,12 @@ mymain(void)
DO_TEST("pool-logical", "vol-logical",
"pool-dir", "vol-qcow2-nobacking",
"logical-from-qcow2", 0, FMT_COMPAT);
+ DO_TEST("pool-dir", "vol-qcow2-nocow",
+ NULL, NULL,
+ "qcow2-nocow", 0, FMT_OPTIONS);
+ DO_TEST("pool-dir", "vol-qcow2-nocow",
+ NULL, NULL,
+ "qcow2-nocow-compat", 0, FMT_COMPAT);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/tests/storagevolxml2xmlin/vol-qcow2-nocow.xml b/tests/storagevolxml2xmlin/vol-qcow2-nocow.xml
new file mode 100644
index 000000000..661475be7
--- /dev/null
+++ b/tests/storagevolxml2xmlin/vol-qcow2-nocow.xml
@@ -0,0 +1,32 @@
+<volume>
+ <name>OtherDemo.img</name>
+ <key>/var/lib/libvirt/images/OtherDemo.img</key>
+ <source>
+ </source>
+ <capacity unit="G">5</capacity>
+ <allocation>294912</allocation>
+ <target>
+ <path>/var/lib/libvirt/images/OtherDemo.img</path>
+ <format type='qcow2'/>
+ <permissions>
+ <mode>0644</mode>
+ <owner>0</owner>
+ <group>0</group>
+ <label>unconfined_u:object_r:virt_image_t:s0</label>
+ </permissions>
+ <encryption format='qcow'>
+ <secret type='passphrase' uuid='e78d4b51-a2af-485f-b0f5-afca709a80f4'/>
+ </encryption>
+ <nocow/>
+ </target>
+ <backingStore>
+ <path>/dev/null</path>
+ <format type='raw'/>
+ <permissions>
+ <mode>0644</mode>
+ <owner>0</owner>
+ <group>0</group>
+ <label>unconfined_u:object_r:virt_image_t:s0</label>
+ </permissions>
+ </backingStore>
+</volume>
diff --git a/tests/storagevolxml2xmlout/vol-qcow2-nocow.xml b/tests/storagevolxml2xmlout/vol-qcow2-nocow.xml
new file mode 100644
index 000000000..31dc57873
--- /dev/null
+++ b/tests/storagevolxml2xmlout/vol-qcow2-nocow.xml
@@ -0,0 +1,31 @@
+<volume type='file'>
+ <name>OtherDemo.img</name>
+ <key>/var/lib/libvirt/images/OtherDemo.img</key>
+ <source>
+ </source>
+ <capacity unit='bytes'>5368709120</capacity>
+ <allocation unit='bytes'>294912</allocation>
+ <target>
+ <path>/var/lib/libvirt/images/OtherDemo.img</path>
+ <format type='qcow2'/>
+ <permissions>
+ <mode>0644</mode>
+ <owner>0</owner>
+ <group>0</group>
+ <label>unconfined_u:object_r:virt_image_t:s0</label>
+ </permissions>
+ <encryption format='qcow'>
+ <secret type='passphrase' uuid='e78d4b51-a2af-485f-b0f5-afca709a80f4'/>
+ </encryption>
+ </target>
+ <backingStore>
+ <path>/dev/null</path>
+ <format type='raw'/>
+ <permissions>
+ <mode>0644</mode>
+ <owner>0</owner>
+ <group>0</group>
+ <label>unconfined_u:object_r:virt_image_t:s0</label>
+ </permissions>
+ </backingStore>
+</volume>
diff --git a/tests/testutils.c b/tests/testutils.c
index dbe4773f1..5bdfcc5e0 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -912,7 +912,7 @@ virCapsPtr virTestGenericCapsInit(void)
virCapsGuestPtr guest;
if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64,
- 0, 0)) == NULL)
+ false, false)) == NULL)
return NULL;
if ((guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_I686,
diff --git a/tests/testutilslxc.c b/tests/testutilslxc.c
index 968d8d0b2..09dfd02b1 100644
--- a/tests/testutilslxc.c
+++ b/tests/testutilslxc.c
@@ -14,7 +14,7 @@ virCapsPtr testLXCCapsInit(void)
virCapsGuestPtr guest;
if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64,
- 0, 0)) == NULL)
+ false, false)) == NULL)
return NULL;
if ((guest = virCapabilitiesAddGuest(caps, "exe", VIR_ARCH_I686,
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 7e24909be..52abb8c47 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -249,7 +249,7 @@ virCapsPtr testQemuCapsInit(void)
};
if ((caps = virCapabilitiesNew(host_cpu.arch,
- 0, 0)) == NULL)
+ false, false)) == NULL)
return NULL;
if ((caps->host.cpu = virCPUDefCopy(&host_cpu)) == NULL ||
@@ -259,7 +259,7 @@ virCapsPtr testQemuCapsInit(void)
if ((guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_I686,
"/usr/bin/qemu", NULL,
nmachines, machines)) == NULL ||
- !virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0))
+ !virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false))
goto cleanup;
machines = NULL;
@@ -277,7 +277,7 @@ virCapsPtr testQemuCapsInit(void)
if ((guest = virCapabilitiesAddGuest(caps, "hvm", VIR_ARCH_X86_64,
"/usr/bin/qemu-system-x86_64", NULL,
nmachines, machines)) == NULL ||
- !virCapabilitiesAddGuestFeature(guest, "cpuselection", 1, 0))
+ !virCapabilitiesAddGuestFeature(guest, "cpuselection", true, false))
goto cleanup;
machines = NULL;
@@ -373,4 +373,53 @@ testSCSIDeviceGetSgName(const char *sysfs_prefix ATTRIBUTE_UNUSED,
qemuBuildCommandLineCallbacks testCallbacks = {
.qemuGetSCSIDeviceSgName = testSCSIDeviceGetSgName,
};
+
+virQEMUCapsPtr
+qemuTestParseCapabilities(const char *capsFile)
+{
+ virQEMUCapsPtr qemuCaps = NULL;
+ xmlDocPtr xml;
+ xmlXPathContextPtr ctxt = NULL;
+ ssize_t i, n;
+ xmlNodePtr *nodes = NULL;
+
+ if (!(xml = virXMLParseFileCtxt(capsFile, &ctxt)))
+ goto error;
+
+ if ((n = virXPathNodeSet("/qemuCaps/flag", ctxt, &nodes)) < 0) {
+ fprintf(stderr, "failed to parse qemu capabilities flags");
+ goto error;
+ }
+
+ if (n > 0) {
+ if (!(qemuCaps = virQEMUCapsNew()))
+ goto error;
+
+ for (i = 0; i < n; i++) {
+ char *str = virXMLPropString(nodes[i], "name");
+ if (str) {
+ int flag = virQEMUCapsTypeFromString(str);
+ if (flag < 0) {
+ fprintf(stderr, "Unknown qemu capabilities flag %s", str);
+ VIR_FREE(str);
+ goto error;
+ }
+ VIR_FREE(str);
+ virQEMUCapsSet(qemuCaps, flag);
+ }
+ }
+ }
+
+ VIR_FREE(nodes);
+ xmlFreeDoc(xml);
+ xmlXPathFreeContext(ctxt);
+ return qemuCaps;
+
+ error:
+ VIR_FREE(nodes);
+ virObjectUnref(qemuCaps);
+ xmlFreeDoc(xml);
+ xmlXPathFreeContext(ctxt);
+ return NULL;
+}
#endif
diff --git a/tests/testutilsqemu.h b/tests/testutilsqemu.h
index f01b722d7..79ee1434c 100644
--- a/tests/testutilsqemu.h
+++ b/tests/testutilsqemu.h
@@ -3,8 +3,11 @@
# include "capabilities.h"
# include "domain_conf.h"
# include "qemu/qemu_command.h"
+# include "qemu/qemu_capabilities.h"
virCapsPtr testQemuCapsInit(void);
virDomainXMLOptionPtr testQemuXMLConfInit(void);
extern qemuBuildCommandLineCallbacks testCallbacks;
+
+virQEMUCapsPtr qemuTestParseCapabilities(const char *capsFile);
#endif
diff --git a/tests/testutilsxen.c b/tests/testutilsxen.c
index 3c8b60f08..a50a8a2af 100644
--- a/tests/testutilsxen.c
+++ b/tests/testutilsxen.c
@@ -23,7 +23,7 @@ virCapsPtr testXenCapsInit(void)
uname(&utsname);
if ((caps = virCapabilitiesNew(VIR_ARCH_I686,
- 0, 0)) == NULL)
+ false, false)) == NULL)
return NULL;
nmachines = ARRAY_CARDINALITY(x86_machines);
diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index 048946fcf..ea832ad7f 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -510,6 +510,30 @@ test9(const void *opaque ATTRIBUTE_UNUSED)
}
static int
+test10(const void *opaque ATTRIBUTE_UNUSED)
+{
+ int ret = -1;
+ virBitmapPtr b1 = NULL, b2 = NULL, b3 = NULL;
+
+ if (virBitmapParse("0-3,5-8,11-15", 0, &b1, 20) < 0 ||
+ virBitmapParse("4,9,10,16-19", 0, &b2, 20) < 0 ||
+ virBitmapParse("15", 0, &b3, 20) < 0)
+ goto cleanup;
+
+ if (virBitmapOverlaps(b1, b2) ||
+ virBitmapOverlaps(b2, b3) ||
+ !virBitmapOverlaps(b1, b3))
+ goto cleanup;
+
+ ret = 0;
+ cleanup:
+ virBitmapFree(b1);
+ virBitmapFree(b2);
+ virBitmapFree(b3);
+ return ret;
+}
+
+static int
mymain(void)
{
int ret = 0;
@@ -532,6 +556,8 @@ mymain(void)
ret = -1;
if (virtTestRun("test9", test9, NULL) < 0)
ret = -1;
+ if (virtTestRun("test10", test10, NULL) < 0)
+ ret = -1;
return ret;
}
diff --git a/tests/vircaps2xmltest.c b/tests/vircaps2xmltest.c
index 7166c98e6..b5b4f4829 100644
--- a/tests/vircaps2xmltest.c
+++ b/tests/vircaps2xmltest.c
@@ -41,7 +41,7 @@ buildVirCapabilities(int max_cells,
int id;
size_t i;
- if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64, 0, 0)) == NULL)
+ if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64, false, false)) == NULL)
goto error;
id = 0;
@@ -114,10 +114,8 @@ test_virCapabilitiesFormat(const void *opaque)
data->max_mem_in_cell)))
goto cleanup;
- if (!(capsXML = virCapabilitiesFormatXML(caps))) {
- fprintf(stderr, "Unable to format capabilities XML");
+ if (!(capsXML = virCapabilitiesFormatXML(caps)))
goto cleanup;
- }
if (virAsprintf(&path, "%s/vircaps2xmldata/vircaps-%s.xml",
abs_srcdir, data->filename) < 0)
diff --git a/tests/vircapstest.c b/tests/vircapstest.c
index 59e9c2bcd..deabc7a99 100644
--- a/tests/vircapstest.c
+++ b/tests/vircapstest.c
@@ -44,7 +44,7 @@ buildNUMATopology(int seq)
int core_id, cell_id;
int id;
- if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64, 0, 0)) == NULL)
+ if ((caps = virCapabilitiesNew(VIR_ARCH_X86_64, false, false)) == NULL)
goto error;
id = 0;
diff --git a/tests/virnettlshelpers.c b/tests/virnettlshelpers.c
index 47a1b1234..6e667d17d 100644
--- a/tests/virnettlshelpers.c
+++ b/tests/virnettlshelpers.c
@@ -383,7 +383,7 @@ testTLSGenerateCert(struct testTLSCertReq *req,
* If no 'ca' is set then we are self signing
* the cert. This is done for the root CA certs
*/
- if ((err = gnutls_x509_crt_sign(crt, ca ? ca : crt, privkey) < 0)) {
+ if ((err = gnutls_x509_crt_sign(crt, ca ? ca : crt, privkey)) < 0) {
VIR_WARN("Failed to sign certificate %s", gnutls_strerror(err));
abort();
}
@@ -391,7 +391,7 @@ testTLSGenerateCert(struct testTLSCertReq *req,
/*
* Finally write the new cert out to disk
*/
- if ((err = gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, buffer, &size) < 0)) {
+ if ((err = gnutls_x509_crt_export(crt, GNUTLS_X509_FMT_PEM, buffer, &size)) < 0) {
VIR_WARN("Failed to export certificate %s", gnutls_strerror(err));
abort();
}
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index fb2837f1d..e2ee3ff87 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -415,7 +415,7 @@ struct testLookupData
unsigned int expIndex;
const char *expResult;
virStorageSourcePtr expMeta;
- const char *expParent;
+ virStorageSourcePtr expParent;
};
static int
@@ -424,7 +424,7 @@ testStorageLookup(const void *args)
const struct testLookupData *data = args;
int ret = 0;
virStorageSourcePtr result;
- const char *actualParent;
+ virStorageSourcePtr actualParent;
unsigned int idx;
if (virStorageFileParseChainIndex(data->target, data->name, &idx) < 0 &&
@@ -488,9 +488,10 @@ testStorageLookup(const void *args)
data->expMeta, result);
ret = -1;
}
- if (STRNEQ_NULLABLE(data->expParent, actualParent)) {
+ if (data->expParent != actualParent) {
fprintf(stderr, "parent: expected %s, got %s\n",
- NULLSTR(data->expParent), NULLSTR(actualParent));
+ NULLSTR(data->expParent ? data->expParent->path : NULL),
+ NULLSTR(actualParent ? actualParent->path : NULL));
ret = -1;
}
@@ -974,25 +975,25 @@ mymain(void)
TEST_LOOKUP(5, NULL, abswrap, chain->path, chain, NULL);
TEST_LOOKUP(6, chain, abswrap, NULL, NULL, NULL);
TEST_LOOKUP(7, chain2, abswrap, NULL, NULL, NULL);
- TEST_LOOKUP(8, NULL, "qcow2", chain2->path, chain2, chain->path);
- TEST_LOOKUP(9, chain, "qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(8, NULL, "qcow2", chain2->path, chain2, chain);
+ TEST_LOOKUP(9, chain, "qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(10, chain2, "qcow2", NULL, NULL, NULL);
TEST_LOOKUP(11, chain3, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(12, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(13, chain, absqcow2, chain2->path, chain2, chain->path);
+ TEST_LOOKUP(12, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(13, chain, absqcow2, chain2->path, chain2, chain);
TEST_LOOKUP(14, chain2, absqcow2, NULL, NULL, NULL);
TEST_LOOKUP(15, chain3, absqcow2, NULL, NULL, NULL);
- TEST_LOOKUP(16, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(17, chain, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(18, chain2, "raw", chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(16, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(17, chain, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(18, chain2, "raw", chain3->path, chain3, chain2);
TEST_LOOKUP(19, chain3, "raw", NULL, NULL, NULL);
- TEST_LOOKUP(20, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(21, chain, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(22, chain2, absraw, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(20, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(21, chain, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(22, chain2, absraw, chain3->path, chain3, chain2);
TEST_LOOKUP(23, chain3, absraw, NULL, NULL, NULL);
- TEST_LOOKUP(24, NULL, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(25, chain, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(26, chain2, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(24, NULL, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(25, chain, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(26, chain2, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP(27, chain3, NULL, NULL, NULL, NULL);
/* Rewrite wrap and qcow2 back to 3-deep chain, relative backing */
@@ -1027,25 +1028,25 @@ mymain(void)
TEST_LOOKUP(33, NULL, abswrap, chain->path, chain, NULL);
TEST_LOOKUP(34, chain, abswrap, NULL, NULL, NULL);
TEST_LOOKUP(35, chain2, abswrap, NULL, NULL, NULL);
- TEST_LOOKUP(36, NULL, "qcow2", chain2->path, chain2, chain->path);
- TEST_LOOKUP(37, chain, "qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(36, NULL, "qcow2", chain2->path, chain2, chain);
+ TEST_LOOKUP(37, chain, "qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(38, chain2, "qcow2", NULL, NULL, NULL);
TEST_LOOKUP(39, chain3, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(40, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(41, chain, absqcow2, chain2->path, chain2, chain->path);
+ TEST_LOOKUP(40, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(41, chain, absqcow2, chain2->path, chain2, chain);
TEST_LOOKUP(42, chain2, absqcow2, NULL, NULL, NULL);
TEST_LOOKUP(43, chain3, absqcow2, NULL, NULL, NULL);
- TEST_LOOKUP(44, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(45, chain, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(46, chain2, "raw", chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(44, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(45, chain, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(46, chain2, "raw", chain3->path, chain3, chain2);
TEST_LOOKUP(47, chain3, "raw", NULL, NULL, NULL);
- TEST_LOOKUP(48, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(49, chain, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(50, chain2, absraw, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(48, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(49, chain, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(50, chain2, absraw, chain3->path, chain3, chain2);
TEST_LOOKUP(51, chain3, absraw, NULL, NULL, NULL);
- TEST_LOOKUP(52, NULL, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(53, chain, NULL, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(54, chain2, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(52, NULL, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(53, chain, NULL, chain3->path, chain3, chain2);
+ TEST_LOOKUP(54, chain2, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP(55, chain3, NULL, NULL, NULL, NULL);
/* Use link to wrap with cross-directory relative backing */
@@ -1070,12 +1071,12 @@ mymain(void)
TEST_LOOKUP(57, NULL, "sub/link2", chain->path, chain, NULL);
TEST_LOOKUP(58, NULL, "wrap", chain->path, chain, NULL);
TEST_LOOKUP(59, NULL, abswrap, chain->path, chain, NULL);
- TEST_LOOKUP(60, NULL, "../qcow2", chain2->path, chain2, chain->path);
+ TEST_LOOKUP(60, NULL, "../qcow2", chain2->path, chain2, chain);
TEST_LOOKUP(61, NULL, "qcow2", NULL, NULL, NULL);
- TEST_LOOKUP(62, NULL, absqcow2, chain2->path, chain2, chain->path);
- TEST_LOOKUP(63, NULL, "raw", chain3->path, chain3, chain2->path);
- TEST_LOOKUP(64, NULL, absraw, chain3->path, chain3, chain2->path);
- TEST_LOOKUP(65, NULL, NULL, chain3->path, chain3, chain2->path);
+ TEST_LOOKUP(62, NULL, absqcow2, chain2->path, chain2, chain);
+ TEST_LOOKUP(63, NULL, "raw", chain3->path, chain3, chain2);
+ TEST_LOOKUP(64, NULL, absraw, chain3->path, chain3, chain2);
+ TEST_LOOKUP(65, NULL, NULL, chain3->path, chain3, chain2);
TEST_LOOKUP_TARGET(66, "vda", NULL, "bogus[1]", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(67, "vda", NULL, "vda[-1]", 0, NULL, NULL, NULL);
@@ -1084,18 +1085,13 @@ mymain(void)
TEST_LOOKUP_TARGET(70, "vda", chain, "wrap", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(71, "vda", chain2, "wrap", 0, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(72, "vda", NULL, "vda[0]", 0, NULL, NULL, NULL);
- TEST_LOOKUP_TARGET(73, "vda", NULL, "vda[1]", 1, chain2->path, chain2,
- chain->path);
- TEST_LOOKUP_TARGET(74, "vda", chain, "vda[1]", 1, chain2->path, chain2,
- chain->path);
+ TEST_LOOKUP_TARGET(73, "vda", NULL, "vda[1]", 1, chain2->path, chain2, chain);
+ TEST_LOOKUP_TARGET(74, "vda", chain, "vda[1]", 1, chain2->path, chain2, chain);
TEST_LOOKUP_TARGET(75, "vda", chain2, "vda[1]", 1, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(76, "vda", chain3, "vda[1]", 1, NULL, NULL, NULL);
- TEST_LOOKUP_TARGET(77, "vda", NULL, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
- TEST_LOOKUP_TARGET(78, "vda", chain, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
- TEST_LOOKUP_TARGET(79, "vda", chain2, "vda[2]", 2, chain3->path, chain3,
- chain2->path);
+ TEST_LOOKUP_TARGET(77, "vda", NULL, "vda[2]", 2, chain3->path, chain3, chain2);
+ TEST_LOOKUP_TARGET(78, "vda", chain, "vda[2]", 2, chain3->path, chain3, chain2);
+ TEST_LOOKUP_TARGET(79, "vda", chain2, "vda[2]", 2, chain3->path, chain3, chain2);
TEST_LOOKUP_TARGET(80, "vda", chain3, "vda[2]", 2, NULL, NULL, NULL);
TEST_LOOKUP_TARGET(81, "vda", NULL, "vda[3]", 3, NULL, NULL, NULL);
diff --git a/tests/virtimetest.c b/tests/virtimetest.c
index 859bd13fa..64bf19b75 100644
--- a/tests/virtimetest.c
+++ b/tests/virtimetest.c
@@ -44,8 +44,7 @@ static int testTimeFields(const void *args)
const struct testTimeFieldsData *data = args;
struct tm actual;
- if (virTimeFieldsThen(data->when, &actual) < 0)
- return -1;
+ virTimeFieldsThen(data->when, &actual);
#define COMPARE(field) \
do { \
diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c
index 1d2e012f9..5c103dd69 100644
--- a/tests/vmx2xmltest.c
+++ b/tests/vmx2xmltest.c
@@ -25,7 +25,7 @@ testCapsInit(void)
{
virCapsGuestPtr guest = NULL;
- caps = virCapabilitiesNew(VIR_ARCH_I686, 1, 1);
+ caps = virCapabilitiesNew(VIR_ARCH_I686, true, true);
if (caps == NULL) {
return;
diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c
index 058b19faa..58418dcca 100644
--- a/tests/xml2vmxtest.c
+++ b/tests/xml2vmxtest.c
@@ -25,7 +25,7 @@ testCapsInit(void)
{
virCapsGuestPtr guest = NULL;
- caps = virCapabilitiesNew(VIR_ARCH_I686, 1, 1);
+ caps = virCapabilitiesNew(VIR_ARCH_I686, true, true);
if (caps == NULL) {
return;