mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
tests: add qemumonitorjson tests for query-cpus-fast
Extended the json monitor test program with support for query-cpus-fast and added a sample file set for x86 data obtained using the it. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
41e335f99b
commit
37bd4571c7
@ -0,0 +1,126 @@
|
|||||||
|
{
|
||||||
|
"return": [
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 0,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 0
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/unattached/device[0]",
|
||||||
|
"thread-id": 895040
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 1,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 1
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu1",
|
||||||
|
"thread-id": 895056
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 2,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 2
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu2",
|
||||||
|
"thread-id": 895057
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 3,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 3
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu3",
|
||||||
|
"thread-id": 895058
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 4,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 4
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu4",
|
||||||
|
"thread-id": 895059
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 5,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 5
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu5",
|
||||||
|
"thread-id": 895060
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 6,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 6
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu6",
|
||||||
|
"thread-id": 895061
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 7,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 7
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu7",
|
||||||
|
"thread-id": 895062
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 8,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 8
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu8",
|
||||||
|
"thread-id": 895063
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 9,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 9
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu9",
|
||||||
|
"thread-id": 895064
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"arch": "x86",
|
||||||
|
"cpu-index": 10,
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 10
|
||||||
|
},
|
||||||
|
"qom-path": "/machine/peripheral/vcpu10",
|
||||||
|
"thread-id": 895065
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "libvirt-52"
|
||||||
|
}
|
@ -0,0 +1,115 @@
|
|||||||
|
{
|
||||||
|
"return": [
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 10
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu10",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 9
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu9",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 8
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu8",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 7
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu7",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 6
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu6",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 5
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu5",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 4
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu4",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 3
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu3",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 2
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu2",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 1
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/peripheral/vcpu1",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"props": {
|
||||||
|
"core-id": 0,
|
||||||
|
"thread-id": 0,
|
||||||
|
"socket-id": 0
|
||||||
|
},
|
||||||
|
"vcpus-count": 1,
|
||||||
|
"qom-path": "/machine/unattached/device[0]",
|
||||||
|
"type": "Broadwell-x86_64-cpu"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "libvirt-51"
|
||||||
|
}
|
@ -0,0 +1,109 @@
|
|||||||
|
[vcpu libvirt-id='0']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=no
|
||||||
|
thread-id='895040'
|
||||||
|
enable-id='1'
|
||||||
|
query-cpus-id='0'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
qom_path='/machine/unattached/device[0]'
|
||||||
|
topology: socket='0' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='1']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895056'
|
||||||
|
enable-id='2'
|
||||||
|
query-cpus-id='1'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu1'
|
||||||
|
qom_path='/machine/peripheral/vcpu1'
|
||||||
|
topology: socket='1' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='2']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895057'
|
||||||
|
enable-id='3'
|
||||||
|
query-cpus-id='2'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu2'
|
||||||
|
qom_path='/machine/peripheral/vcpu2'
|
||||||
|
topology: socket='2' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='3']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895058'
|
||||||
|
enable-id='4'
|
||||||
|
query-cpus-id='3'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu3'
|
||||||
|
qom_path='/machine/peripheral/vcpu3'
|
||||||
|
topology: socket='3' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='4']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895059'
|
||||||
|
enable-id='5'
|
||||||
|
query-cpus-id='4'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu4'
|
||||||
|
qom_path='/machine/peripheral/vcpu4'
|
||||||
|
topology: socket='4' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='5']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895060'
|
||||||
|
enable-id='6'
|
||||||
|
query-cpus-id='5'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu5'
|
||||||
|
qom_path='/machine/peripheral/vcpu5'
|
||||||
|
topology: socket='5' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='6']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895061'
|
||||||
|
enable-id='7'
|
||||||
|
query-cpus-id='6'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu6'
|
||||||
|
qom_path='/machine/peripheral/vcpu6'
|
||||||
|
topology: socket='6' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='7']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895062'
|
||||||
|
enable-id='8'
|
||||||
|
query-cpus-id='7'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu7'
|
||||||
|
qom_path='/machine/peripheral/vcpu7'
|
||||||
|
topology: socket='7' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='8']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895063'
|
||||||
|
enable-id='9'
|
||||||
|
query-cpus-id='8'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu8'
|
||||||
|
qom_path='/machine/peripheral/vcpu8'
|
||||||
|
topology: socket='8' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='9']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895064'
|
||||||
|
enable-id='10'
|
||||||
|
query-cpus-id='9'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu9'
|
||||||
|
qom_path='/machine/peripheral/vcpu9'
|
||||||
|
topology: socket='9' core='0' thread='0' vcpus='1'
|
||||||
|
[vcpu libvirt-id='10']
|
||||||
|
online=yes
|
||||||
|
hotpluggable=yes
|
||||||
|
thread-id='895065'
|
||||||
|
enable-id='11'
|
||||||
|
query-cpus-id='10'
|
||||||
|
type='Broadwell-x86_64-cpu'
|
||||||
|
alias='vcpu10'
|
||||||
|
qom_path='/machine/peripheral/vcpu10'
|
||||||
|
topology: socket='10' core='0' thread='0' vcpus='1'
|
@ -1366,21 +1366,60 @@ testQemuMonitorJSONqemuMonitorJSONQueryCPUsEqual(struct qemuMonitorQueryCpusEntr
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(qemuMonitorTestPtr test,
|
||||||
|
struct qemuMonitorQueryCpusEntry *expect,
|
||||||
|
bool fast,
|
||||||
|
size_t num)
|
||||||
|
{
|
||||||
|
struct qemuMonitorQueryCpusEntry *cpudata = NULL;
|
||||||
|
size_t ncpudata = 0;
|
||||||
|
size_t i;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
if (qemuMonitorJSONQueryCPUs(qemuMonitorTestGetMonitor(test),
|
||||||
|
&cpudata, &ncpudata, true, fast) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (ncpudata != num) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"Expecting ncpupids = %zu but got %zu", num, ncpudata);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < ncpudata; i++) {
|
||||||
|
if (!testQemuMonitorJSONqemuMonitorJSONQueryCPUsEqual(cpudata + i,
|
||||||
|
expect + i)) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"vcpu entry %zu does not match expected data", i);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
qemuMonitorQueryCpusFree(cpudata, ncpudata);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *data)
|
testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *data)
|
||||||
{
|
{
|
||||||
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
|
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
|
||||||
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
|
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
struct qemuMonitorQueryCpusEntry *cpudata = NULL;
|
struct qemuMonitorQueryCpusEntry expect_slow[] = {
|
||||||
struct qemuMonitorQueryCpusEntry expect[] = {
|
{0, 17622, (char *) "/machine/unattached/device[0]", true},
|
||||||
{0, 17622, (char *) "/machine/unattached/device[0]", true},
|
{1, 17624, (char *) "/machine/unattached/device[1]", true},
|
||||||
{1, 17624, (char *) "/machine/unattached/device[1]", true},
|
{2, 17626, (char *) "/machine/unattached/device[2]", true},
|
||||||
{2, 17626, (char *) "/machine/unattached/device[2]", true},
|
{3, 17628, NULL, true},
|
||||||
{3, 17628, NULL, true},
|
};
|
||||||
|
struct qemuMonitorQueryCpusEntry expect_fast[] = {
|
||||||
|
{0, 17629, (char *) "/machine/unattached/device[0]", false},
|
||||||
|
{1, 17630, (char *) "/machine/unattached/device[1]", false},
|
||||||
};
|
};
|
||||||
size_t ncpudata = 0;
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
if (!test)
|
if (!test)
|
||||||
return -1;
|
return -1;
|
||||||
@ -1424,29 +1463,37 @@ testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *data)
|
|||||||
"}") < 0)
|
"}") < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuMonitorJSONQueryCPUs(qemuMonitorTestGetMonitor(test),
|
if (qemuMonitorTestAddItem(test, "query-cpus-fast",
|
||||||
&cpudata, &ncpudata, true, false) < 0)
|
"{"
|
||||||
|
" \"return\": ["
|
||||||
|
" {"
|
||||||
|
" \"cpu-index\": 0,"
|
||||||
|
" \"qom-path\": \"/machine/unattached/device[0]\","
|
||||||
|
" \"thread-id\": 17629"
|
||||||
|
" },"
|
||||||
|
" {"
|
||||||
|
" \"cpu-index\": 1,"
|
||||||
|
" \"qom-path\": \"/machine/unattached/device[1]\","
|
||||||
|
" \"thread-id\": 17630"
|
||||||
|
" }"
|
||||||
|
" ],"
|
||||||
|
" \"id\": \"libvirt-8\""
|
||||||
|
"}") < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (ncpudata != 4) {
|
/* query-cpus */
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
if (testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(test, expect_slow,
|
||||||
"Expecting ncpupids = 4 but got %zu", ncpudata);
|
false, 4))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < ncpudata; i++) {
|
/* query-cpus-fast */
|
||||||
if (!testQemuMonitorJSONqemuMonitorJSONQueryCPUsEqual(cpudata + i,
|
if (testQEMUMonitorJSONqemuMonitorJSONQueryCPUsHelper(test, expect_fast,
|
||||||
expect + i)) {
|
true, 2))
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
goto cleanup;
|
||||||
"vcpu entry %zu does not match expected data", i);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
qemuMonitorQueryCpusFree(cpudata, ncpudata);
|
|
||||||
qemuMonitorTestFree(test);
|
qemuMonitorTestFree(test);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -2531,6 +2578,7 @@ struct testCPUInfoData {
|
|||||||
const char *name;
|
const char *name;
|
||||||
size_t maxvcpus;
|
size_t maxvcpus;
|
||||||
virDomainXMLOptionPtr xmlopt;
|
virDomainXMLOptionPtr xmlopt;
|
||||||
|
bool fast;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -2600,12 +2648,14 @@ testQemuMonitorCPUInfo(const void *opaque)
|
|||||||
{
|
{
|
||||||
const struct testCPUInfoData *data = opaque;
|
const struct testCPUInfoData *data = opaque;
|
||||||
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, data->xmlopt);
|
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, data->xmlopt);
|
||||||
|
virDomainObjPtr vm = NULL;
|
||||||
char *queryCpusFile = NULL;
|
char *queryCpusFile = NULL;
|
||||||
char *queryHotpluggableFile = NULL;
|
char *queryHotpluggableFile = NULL;
|
||||||
char *dataFile = NULL;
|
char *dataFile = NULL;
|
||||||
char *queryCpusStr = NULL;
|
char *queryCpusStr = NULL;
|
||||||
char *queryHotpluggableStr = NULL;
|
char *queryHotpluggableStr = NULL;
|
||||||
char *actual = NULL;
|
char *actual = NULL;
|
||||||
|
const char *queryCpusFunction;
|
||||||
qemuMonitorCPUInfoPtr vcpus = NULL;
|
qemuMonitorCPUInfoPtr vcpus = NULL;
|
||||||
int rc;
|
int rc;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
@ -2634,11 +2684,20 @@ testQemuMonitorCPUInfo(const void *opaque)
|
|||||||
queryHotpluggableStr) < 0)
|
queryHotpluggableStr) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuMonitorTestAddItem(test, "query-cpus", queryCpusStr) < 0)
|
if (data->fast)
|
||||||
|
queryCpusFunction = "query-cpus-fast";
|
||||||
|
else
|
||||||
|
queryCpusFunction = "query-cpus";
|
||||||
|
|
||||||
|
if (qemuMonitorTestAddItem(test, queryCpusFunction, queryCpusStr) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
vm = qemuMonitorTestGetDomainObj(test);
|
||||||
|
if (!vm)
|
||||||
|
return -1;
|
||||||
|
|
||||||
rc = qemuMonitorGetCPUInfo(qemuMonitorTestGetMonitor(test),
|
rc = qemuMonitorGetCPUInfo(qemuMonitorTestGetMonitor(test),
|
||||||
&vcpus, data->maxvcpus, true, false);
|
&vcpus, data->maxvcpus, true, data->fast);
|
||||||
|
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2849,7 +2908,15 @@ mymain(void)
|
|||||||
|
|
||||||
#define DO_TEST_CPU_INFO(name, maxvcpus) \
|
#define DO_TEST_CPU_INFO(name, maxvcpus) \
|
||||||
do { \
|
do { \
|
||||||
struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt}; \
|
struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, false}; \
|
||||||
|
if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \
|
||||||
|
&data) < 0) \
|
||||||
|
ret = -1; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define DO_TEST_CPU_INFO_FAST(name, maxvcpus) \
|
||||||
|
do { \
|
||||||
|
struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, true}; \
|
||||||
if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \
|
if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \
|
||||||
&data) < 0) \
|
&data) < 0) \
|
||||||
ret = -1; \
|
ret = -1; \
|
||||||
@ -2932,6 +2999,7 @@ mymain(void)
|
|||||||
DO_TEST_CPU_INFO("x86-basic-pluggable", 8);
|
DO_TEST_CPU_INFO("x86-basic-pluggable", 8);
|
||||||
DO_TEST_CPU_INFO("x86-full", 11);
|
DO_TEST_CPU_INFO("x86-full", 11);
|
||||||
DO_TEST_CPU_INFO("x86-node-full", 8);
|
DO_TEST_CPU_INFO("x86-node-full", 8);
|
||||||
|
DO_TEST_CPU_INFO_FAST("x86-full-fast", 11);
|
||||||
|
|
||||||
DO_TEST_CPU_INFO("ppc64-basic", 24);
|
DO_TEST_CPU_INFO("ppc64-basic", 24);
|
||||||
DO_TEST_CPU_INFO("ppc64-hotplug-1", 24);
|
DO_TEST_CPU_INFO("ppc64-hotplug-1", 24);
|
||||||
|
@ -1518,3 +1518,10 @@ qemuMonitorTestGetAgent(qemuMonitorTestPtr test)
|
|||||||
{
|
{
|
||||||
return test->agent;
|
return test->agent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virDomainObjPtr
|
||||||
|
qemuMonitorTestGetDomainObj(qemuMonitorTestPtr test)
|
||||||
|
{
|
||||||
|
return test->vm;
|
||||||
|
}
|
||||||
|
@ -99,5 +99,6 @@ void qemuMonitorTestFree(qemuMonitorTestPtr test);
|
|||||||
|
|
||||||
qemuMonitorPtr qemuMonitorTestGetMonitor(qemuMonitorTestPtr test);
|
qemuMonitorPtr qemuMonitorTestGetMonitor(qemuMonitorTestPtr test);
|
||||||
qemuAgentPtr qemuMonitorTestGetAgent(qemuMonitorTestPtr test);
|
qemuAgentPtr qemuMonitorTestGetAgent(qemuMonitorTestPtr test);
|
||||||
|
virDomainObjPtr qemuMonitorTestGetDomainObj(qemuMonitorTestPtr test);
|
||||||
|
|
||||||
#endif /* __VIR_QEMU_MONITOR_TEST_UTILS_H__ */
|
#endif /* __VIR_QEMU_MONITOR_TEST_UTILS_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user