libvirt/tests
Eric Blake bd56d0d813 qemu: query command line options in QMP
Ever since the conversion to using only QMP for probing features
of qemu 1.2 and newer, we have been unable to detect features
that are added only by additional command line options.  For
example, we'd like to know if '-machine mem-merge=on' (added
in qemu 1.5) is present.  To do this, we will take advantage
of qemu 1.5's query-command-line-parameters QMP call [1].

This patch wires up the framework for probing the command results;
if the QMP command is missing, or if a particular command line
option does not output any parameters (for example, -net uses
a polymorphic parser, which showed up as no parameters as of qemu
1.5), we silently treat that command as having no results.

[1] https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg05180.html

* src/qemu/qemu_monitor.h (qemuMonitorGetOptions)
(qemuMonitorSetOptions)
(qemuMonitorGetCommandLineOptionParameters): New functions.
* src/qemu/qemu_monitor_json.h
(qemuMonitorJSONGetCommandLineOptionParameters): Likewise.
* src/qemu/qemu_monitor.c (_qemuMonitor): Add cache field.
(qemuMonitorDispose): Clean it.
(qemuMonitorGetCommandLineOptionParameters): Implement new function.
* src/qemu/qemu_monitor_json.c
(qemuMonitorJSONGetCommandLineOptionParameters): Likewise.
(testQemuMonitorJSONGetCommandLineParameters): Test it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-05-13 15:15:54 -06:00
..
capabilityschemadata capabilities: add NUMA memory information 2013-03-08 11:51:00 -07:00
commanddata build: clean up stray files found by 'make distcheck' 2013-05-06 14:01:08 -06:00
confdata Change the default of mdns_adv to false 2012-03-27 09:54:49 -06:00
cputestdata Removed more AMD-specific features from cpu64-rhel* models 2012-03-09 14:36:31 +01:00
domainschemadata Add XML config for resource partitions 2013-04-15 17:35:31 +01:00
domainsnapshotxml2xmlin snapshot: new XML for external system checkpoint 2012-11-02 09:56:23 -06:00
domainsnapshotxml2xmlout qemu: auto-add pci-root controller for pc machine types 2013-04-25 13:05:10 +02:00
fchostdata/fc_host tests: Add tests for fc_host 2013-05-13 17:24:18 +08:00
interfaceschemadata Update interface.rng and xml test files to match netcf 0.1.5 2010-01-19 21:13:03 +01:00
lxcxml2xmldata Add 'nbd' as a valid filesystem driver type 2013-05-13 13:15:19 +01:00
networkxml2confdata Revert "Add support for <option> tag in network config" 2013-02-27 10:55:24 -05:00
networkxml2xmlin Support for static routes on a virtual bridge 2013-05-13 16:14:40 -04:00
networkxml2xmlout Support for static routes on a virtual bridge 2013-05-13 16:14:40 -04:00
nodedevschemadata Update xml schemas according to libvirt source 2012-08-02 14:36:23 -06:00
nodeinfodata nodeinfotest: Add test data from a AMD bulldozer machine. 2012-11-13 00:35:36 +01:00
nwfilterxml2xmlin nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
nwfilterxml2xmlout nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
qemuhelpdata qemu: New cap flags for scsi-generic 2013-05-13 18:30:26 +08:00
qemuxml2argvdata qemu: Support bootindex for scsi host device 2013-05-13 19:08:32 +08:00
qemuxml2xmloutdata qemu: auto-add bridges and allow using them 2013-04-25 13:19:40 +02:00
qemuxmlnsdata qemu: pass -usb and usb hubs earlier, so USB disks with static address are handled properly 2012-10-30 08:54:32 +01:00
securityselinuxlabeldata Add a test suite for validating SELinux labelling 2013-01-14 13:40:04 +00:00
sexpr2xmldata storage: treat 'aio' like 'raw' at parse time 2012-10-19 17:35:09 -06:00
storagepoolxml2xmlin New XML attributes for storage pool source adapter 2013-04-08 18:41:06 +08:00
storagepoolxml2xmlout New XML attributes for storage pool source adapter 2013-04-08 18:41:06 +08:00
storagevolxml2argvdata storage: move qemu-img options before positional arguments 2013-02-24 18:11:40 +01:00
storagevolxml2xmlin Added timestamps to storage volumes 2012-08-02 17:14:17 -06:00
storagevolxml2xmlout Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
sysinfodata Implement minimal sysinfo for ARM platforms 2013-04-04 11:07:31 +01:00
vmx2xmldata vmx: handle shared folders parsing 2012-07-21 20:15:02 +02:00
xencapsdata Add suspend info to Xen, LXC and UML hypervisor capabilities 2011-11-30 10:12:30 +00:00
xmconfigdata numad: Always output 'placement' of <vcpu> 2012-05-08 16:57:37 -06:00
xml2sexprdata Xen: Fix <clock> handling 2012-04-02 09:33:54 -06:00
xml2vmxdata util: Change virMacAddrFormat to lowercase hex characters 2013-04-02 15:53:43 +02:00
.valgrind.supp valgrind: Adjust the suppression file 2013-02-07 14:08:14 -05:00
capabilityschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
commandhelper.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
commandtest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
cpuset use virBitmap to store cpumask info. 2012-09-17 14:59:37 -04:00
cputest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
define-dev-segfault numad: Always output 'placement' of <vcpu> 2012-05-08 16:57:37 -06:00
domainschematest Add LXC XML files to schema test & fix problems this uncovers 2012-03-27 15:52:25 +01:00
domainsnapshotschematest Domain snapshot RNG and tests. 2010-05-20 13:50:03 -04:00
domainsnapshotxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
esxutilstest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
eventtest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
fchosttest.c tests: Add tests for fc_host 2013-05-13 17:24:18 +08:00
fdstreamtest.c build: avoid shadowed variable in fdstreamtest 2013-05-13 13:38:18 -06:00
int-overflow tests: Don't use bash if we don't have to 2011-07-29 17:17:21 +02:00
interfaceschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
interfacexml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
jsontest.c json: support removing a value from an object 2013-05-13 15:15:54 -06:00
libvirtd-fail Fix up "make check" 2009-10-07 12:18:13 +02:00
libvirtd-pool Fix up "make check" 2009-10-07 12:18:13 +02:00
libvirtdconftest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
lxcxml2xmltest.c Add support for storage format in FS <driver> 2013-05-13 13:15:19 +01:00
Makefile.am tests: Add tests for fc_host 2013-05-13 17:24:18 +08:00
networkschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
networkxml2conftest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
networkxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
nodedevschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
nodedevxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
nodeinfotest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
nwfilterschematest nwfilter: Add filter schema for nwfilter XML, extend domain XML schema 2010-04-06 11:09:46 -04:00
nwfilterxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
object-locking.ml Rename 'DeviceMonitor' to 'NodeDeviceDriver' 2013-04-24 10:59:53 +01:00
oomtrace.pl Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
openvzutilstest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
openvzutilstest.conf openvz: Add simple test for openvzReadNetworkConf 2011-06-01 11:58:15 +02:00
pkix_asn1_tab.c Add a test case for certificate validation 2011-07-22 15:18:32 +01:00
qemuargv2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
qemuhelptest.c qemu: New cap flags for scsi-generic 2013-05-13 18:30:26 +08:00
qemumonitorjsontest.c qemu: query command line options in QMP 2013-05-13 15:15:54 -06:00
qemumonitortest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
qemumonitortestutils.c qemu: use bool in monitor struct 2013-05-13 15:15:54 -06:00
qemumonitortestutils.h maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemuxml2argvtest.c qemu: Support bootindex for scsi host device 2013-05-13 19:08:32 +08:00
qemuxml2xmltest.c Introduce <readonly> for hostdev 2013-05-13 19:02:40 +08:00
qemuxmlnstest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
read-bufsiz maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
read-non-seekable maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
reconnect.c Rename command.{c,h} to vircommand.{c,h} 2012-12-21 11:17:13 +00:00
schematestutils.sh tests: use portable shell code 2013-05-09 11:46:45 -06:00
seclabeltest.c tests: uniformly report test failures 2013-02-25 17:38:11 -07:00
securityselinuxhelper.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
securityselinuxlabeltest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
securityselinuxtest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
sexpr2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
shunloadhelper.c syntax-check: Only allows to include public headers in external tools 2013-04-18 11:31:19 +08:00
shunloadtest.c cleanup: Only include testutils.h once 2013-04-17 15:41:04 +08:00
sockettest.c Rename memory.{c,h} to viralloc.{c,h} 2012-12-21 11:17:14 +00:00
ssh.c maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
start maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
statstest.c Rename stats_linux.{c,h} to virstatslinux.{c,h} 2012-12-21 11:19:48 +00:00
storagebackendsheepdogtest.c Build breaker - requires VIR_FROM_THIS 2013-05-10 08:52:43 -04:00
storagepoolschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
storagepoolxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
storagevolschematest Make test suite output less verbose 2010-01-15 16:28:05 +00:00
storagevolxml2argvtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
storagevolxml2xmltest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
sysinfotest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
test_conf.c rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test_conf.sh rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test-lib.sh tests: simplify formatting 2011-07-11 09:21:37 -06:00
testutils.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
testutils.h Ensure LD_PRELOAD exists before running test case 2013-04-05 10:41:46 +01:00
testutilslxc.c virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
testutilslxc.h Add support for setting init argv for LXC 2012-03-27 15:52:25 +01:00
testutilsqemu.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
testutilsqemu.h maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
testutilsxen.c virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
testutilsxen.h virCaps: get rid of defaultConsoleTargetType callback 2013-04-04 22:42:39 +02:00
utiltest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
vcpupin maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
viratomictest.c Rename threads.{c,h} to virthread.{c,h} 2012-12-21 11:19:49 +00:00
virauthconfigtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virbitmaptest.c Resolve valgrind error 2013-04-16 07:13:43 -04:00
virbuftest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
vircgroupmock.c Do proper escaping of cgroup resource partitions 2013-04-26 13:52:02 +01:00
vircgrouptest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
virdrivermoduletest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virendiantest.c util: add virendian.h macros 2013-02-12 09:00:15 -07:00
virhashdata.h Rename hash.h and hash.c to virhash.h and virhash.c 2012-01-26 14:11:13 +00:00
virhashtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
viridentitytest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virkeycodetest.c Add a test suite for keycode mapping functions 2013-04-08 10:03:20 +01:00
virkeyfiletest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virlockspacetest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
virnetmessagetest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
virnetsockettest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virnettlscontexttest.c Fix TLS tests with gnutls 3 2013-03-04 17:42:16 +00:00
virportallocatortest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
virsh-all Don't check the 'connect' command in virsh-all test 2012-08-07 11:59:08 +01:00
virsh-optparse virsh: add snapshot-create-as memspec support 2012-11-07 09:04:18 -07:00
virsh-schedinfo Allow multiple parameters for schedinfo 2013-04-03 08:49:30 +02:00
virsh-synopsis maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
virsh-undefine build: avoid confusing make with raw name 'undefine' 2012-09-12 11:27:22 -06:00
virshtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virstoragetest.c util: move virFile* functions from virutil.c to virfile.c 2013-05-10 13:09:30 -04:00
virstringtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
virt-aa-helper-test add vnc unix sockets to apparmor policy 2012-12-11 14:32:39 -07:00
virtimetest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
viruritest.c Disable some URI tests on older libxml2 2013-05-09 17:02:18 +01:00
vmx2xmltest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00
xencapstest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
xmconfigtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
xml2sexprtest.c virutil: Move string related functions to virstring.c 2013-05-02 16:56:55 +02:00
xml2vmxtest.c Adapt to VIR_STRDUP and VIR_STRNDUP in tests/* 2013-05-10 11:54:29 +02:00