mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
qemuagenttest: Test arbitrary command passthrough
Exercise the arbitrary command passthrough API.
This commit is contained in:
parent
4ce91f6ebd
commit
ce01ec42b2
@ -474,6 +474,50 @@ cleanup:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static const char testQemuAgentArbitraryCommandResponse[] =
|
||||||
|
"{\"return\":\"bla\"}";
|
||||||
|
|
||||||
|
static int
|
||||||
|
testQemuAgentArbitraryCommand(const void *data)
|
||||||
|
{
|
||||||
|
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
|
||||||
|
qemuMonitorTestPtr test = qemuMonitorTestNewAgent(xmlopt);
|
||||||
|
int ret = -1;
|
||||||
|
char *reply = NULL;
|
||||||
|
|
||||||
|
if (!test)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (qemuMonitorTestAddAgentSyncResponse(test) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (qemuMonitorTestAddItem(test, "ble",
|
||||||
|
testQemuAgentArbitraryCommandResponse) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (qemuAgentArbitraryCommand(qemuMonitorTestGetAgent(test),
|
||||||
|
"{\"execute\":\"ble\"}",
|
||||||
|
&reply,
|
||||||
|
VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (STRNEQ(reply, testQemuAgentArbitraryCommandResponse)) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
"invalid processing of guest agent reply: "
|
||||||
|
"got '%s' expected '%s'",
|
||||||
|
reply, testQemuAgentArbitraryCommandResponse);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
VIR_FREE(reply);
|
||||||
|
qemuMonitorTestFree(test);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
mymain(void)
|
mymain(void)
|
||||||
{
|
{
|
||||||
@ -501,6 +545,7 @@ mymain(void)
|
|||||||
DO_TEST(Suspend);
|
DO_TEST(Suspend);
|
||||||
DO_TEST(Shutdown);
|
DO_TEST(Shutdown);
|
||||||
DO_TEST(CPU);
|
DO_TEST(CPU);
|
||||||
|
DO_TEST(ArbitraryCommand);
|
||||||
|
|
||||||
virObjectUnref(xmlopt);
|
virObjectUnref(xmlopt);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user