提交 88a0894c 编写于 作者: M Michal Privoznik

qemumonitorjsontest: Introduce GetNonExistingCPUData test

In the 730af8f2 commit we are fixing broken qemu startup on systems
with ancient qemu. This commit introduces the regression test for that
specific case to make sure we don't break it again.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 730af8f2
......@@ -2038,6 +2038,49 @@ cleanup:
return ret;
}
static int
testQemuMonitorJSONGetNonExistingCPUData(const void *opaque)
{
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr) opaque;
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
virCPUDataPtr cpuData = NULL;
int rv, ret = -1;
if (!test)
return -1;
if (qemuMonitorTestAddItem(test, "qom-list",
"{"
" \"id\": \"libvirt-7\","
" \"error\": {"
" \"class\": \"CommandNotFound\","
" \"desc\": \"The command qom-list has not been found\""
" }"
"}") < 0)
goto cleanup;
rv = qemuMonitorJSONGetGuestCPU(qemuMonitorTestGetMonitor(test),
VIR_ARCH_X86_64,
&cpuData);
if (rv != -2) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"Unexpected return value %d, expecting -2", rv);
goto cleanup;
}
if (cpuData) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"Unexpected allocation of data = %p, expecting NULL",
cpuData);
goto cleanup;
}
ret = 0;
cleanup:
qemuMonitorTestFree(test);
cpuDataFree(cpuData);
return ret;
}
static int
mymain(void)
......@@ -2094,6 +2137,7 @@ mymain(void)
DO_TEST(SetObjectProperty);
DO_TEST(GetDeviceAliases);
DO_TEST(CPU);
DO_TEST(GetNonExistingCPUData);
DO_TEST_SIMPLE("qmp_capabilities", qemuMonitorJSONSetCapabilities);
DO_TEST_SIMPLE("system_powerdown", qemuMonitorJSONSystemPowerdown);
DO_TEST_SIMPLE("system_reset", qemuMonitorJSONSystemReset);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册