virHashTablePtr schema;
};
+typedef struct _testGenericData testGenericData;
+struct _testGenericData {
+ virDomainXMLOptionPtr xmlopt;
+ virHashTablePtr schema;
+};
+
const char *queryBlockReply =
"{"
" \"return\": ["
"}";
static int
-testQemuMonitorJSONGetStatus(const void *data)
+testQemuMonitorJSONGetStatus(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
bool running = false;
virDomainPausedReason reason = 0;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-status",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONGetVersion(const void *data)
+testQemuMonitorJSONGetVersion(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
int major;
int minor;
int micro;
char *package = NULL;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-version",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
VIR_FREE(package);
return ret;
}
static int
-testQemuMonitorJSONGetMachines(const void *data)
+testQemuMonitorJSONGetMachines(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorMachineInfoPtr *info;
int ninfo = 0;
const char *null = NULL;
size_t i;
- if (!test)
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
+
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-machines",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
for (i = 0; i < ninfo; i++)
qemuMonitorMachineInfoFree(info[i]);
VIR_FREE(info);
static int
-testQemuMonitorJSONGetCPUDefinitions(const void *data)
+testQemuMonitorJSONGetCPUDefinitions(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorCPUDefInfoPtr *cpus = NULL;
int ncpus = 0;
size_t i;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-cpu-definitions",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
for (i = 0; i < ncpus; i++)
qemuMonitorCPUDefInfoFree(cpus[i]);
VIR_FREE(cpus);
static int
-testQemuMonitorJSONGetCommands(const void *data)
+testQemuMonitorJSONGetCommands(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
char **commands = NULL;
int ncommands = 0;
size_t i;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-commands",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
for (i = 0; i < ncommands; i++)
VIR_FREE(commands[i]);
VIR_FREE(commands);
static int
-testQemuMonitorJSONGetTPMModels(const void *data)
+testQemuMonitorJSONGetTPMModels(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
char **tpmmodels = NULL;
int ntpmmodels = 0;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-tpm-models",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
virStringListFree(tpmmodels);
return ret;
}
static int
-testQemuMonitorJSONGetCommandLineOptionParameters(const void *data)
+testQemuMonitorJSONGetCommandLineOptionParameters(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
char **params = NULL;
int nparams = 0;
bool found = false;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-command-line-options",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
virStringListFree(params);
return ret;
}
static int
qemuMonitorJSONTestAttachOneChardev(virDomainXMLOptionPtr xmlopt,
+ virHashTablePtr schema,
const char *label,
virDomainChrSourceDefPtr chr,
const char *expectargs,
data.chr = chr;
data.fail = fail;
data.expectPty = expectPty;
- if (!(data.test = qemuMonitorTestNewSimple(true, xmlopt)))
+ if (!(data.test = qemuMonitorTestNewSchema(xmlopt, schema)))
goto cleanup;
if (qemuMonitorTestAddItemExpect(data.test, "chardev-add",
}
static int
-qemuMonitorJSONTestAttachChardev(virDomainXMLOptionPtr xmlopt)
+qemuMonitorJSONTestAttachChardev(virDomainXMLOptionPtr xmlopt,
+ virHashTablePtr schema)
{
virDomainChrSourceDef chr;
int ret = 0;
#define CHECK(label, fail, expectargs) \
- if (qemuMonitorJSONTestAttachOneChardev(xmlopt, label, &chr, expectargs, \
- NULL, NULL, fail) < 0) \
+ if (qemuMonitorJSONTestAttachOneChardev(xmlopt, schema, label, &chr, \
+ expectargs, NULL, NULL, fail) < 0) \
ret = -1
chr = (virDomainChrSourceDef) { .type = VIR_DOMAIN_CHR_TYPE_NULL };
"{'id':'alias','backend':{'type':'null','data':{}}}");
chr = (virDomainChrSourceDef) { .type = VIR_DOMAIN_CHR_TYPE_PTY };
- if (qemuMonitorJSONTestAttachOneChardev(xmlopt, "pty", &chr,
+ if (qemuMonitorJSONTestAttachOneChardev(xmlopt, schema, "pty", &chr,
"{'id':'alias',"
"'backend':{'type':'pty',"
"'data':{}}}",
static int
-testQemuMonitorJSONDetachChardev(const void *data)
+testQemuMonitorJSONDetachChardev(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return ret;
if (qemuMonitorTestAddItem(test, "chardev-remove", "{\"return\": {}}") < 0)
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
* {"name": "type", "type": "string"}]}
*/
static int
-testQemuMonitorJSONGetListPaths(const void *data)
+testQemuMonitorJSONGetListPaths(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorJSONListPathPtr *paths;
int npaths = 0;
size_t i;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "qom-list",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
for (i = 0; i < npaths; i++)
qemuMonitorJSONListPathFree(paths[i]);
VIR_FREE(paths);
* {"return": true}
*/
static int
-testQemuMonitorJSONGetObjectProperty(const void *data)
+testQemuMonitorJSONGetObjectProperty(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorJSONObjectProperty prop;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "qom-get",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
* false is not a good idea...
*/
static int
-testQemuMonitorJSONSetObjectProperty(const void *data)
+testQemuMonitorJSONSetObjectProperty(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorJSONObjectProperty prop;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "qom-set",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONGetDeviceAliases(const void *data)
+testQemuMonitorJSONGetDeviceAliases(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
char **aliases = NULL;
const char **alias;
const char *expected[] = {
"virtio-disk25", "video0", "serial0", "ide0-0-0", "usb", NULL };
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test,
cleanup:
virStringListFree(aliases);
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONCPU(const void *data)
+testQemuMonitorJSONCPU(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
bool running = false;
virDomainPausedReason reason = 0;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "stop", "{\"return\": {}}") < 0 ||
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *data)
+testQemuMonitorJSONqemuMonitorJSONQueryCPUs(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
struct qemuMonitorQueryCpusEntry expect_slow[] = {
{0, 17622, (char *) "/machine/unattached/device[0]", true},
{0, 17629, (char *) "/machine/unattached/device[0]", false},
{1, 17630, (char *) "/machine/unattached/device[1]", false},
};
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-cpus",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetBalloonInfo(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetBalloonInfo(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
unsigned long long currmem;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-balloon",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetVirtType(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetVirtType(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
virDomainVirtType virtType;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-kvm",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetBlockInfo(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
virHashTablePtr blockDevices = NULL, expectedBlockDevices = NULL;
struct qemuDomainDiskInfo *info;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (!(blockDevices = virHashCreate(32, virHashValueFree)) ||
cleanup:
virHashFree(blockDevices);
virHashFree(expectedBlockDevices);
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetAllBlockStatsInfo(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetAllBlockStatsInfo(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
virHashTablePtr blockstats = NULL;
qemuBlockStatsPtr stats;
int ret = -1;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
const char *reply =
"{"
" \"id\": \"libvirt-11\""
"}";
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (!(blockstats = virHashCreate(10, virHashValueFree)))
#undef CHECK0FULL
cleanup:
- qemuMonitorTestFree(test);
virHashFree(blockstats);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetMigrationCacheSize(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetMigrationCacheSize(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
unsigned long long cacheSize;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-migrate-cache-size",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetMigrationStats(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetMigrationStats(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
qemuMonitorMigrationStats stats, expectedStats;
char *error = NULL;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
memset(&expectedStats, 0, sizeof(expectedStats));
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
VIR_FREE(error);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetChardevInfo(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetChardevInfo(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
virHashTablePtr info = NULL, expectedInfo = NULL;
qemuMonitorChardevInfo info0 = { NULL, VIR_DOMAIN_CHR_DEVICE_STATE_DEFAULT };
qemuMonitorChardevInfo info1 = { (char *) "/dev/pts/21", VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED };
qemuMonitorChardevInfo info2 = { (char *) "/dev/pts/20", VIR_DOMAIN_CHR_DEVICE_STATE_DEFAULT };
qemuMonitorChardevInfo info3 = { NULL, VIR_DOMAIN_CHR_DEVICE_STATE_DISCONNECTED };
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (!(info = virHashCreate(32, qemuMonitorChardevInfoFree)) ||
cleanup:
virHashFree(info);
virHashFree(expectedInfo);
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONSetBlockIoThrottle(const void *data)
+testQemuMonitorJSONqemuMonitorJSONSetBlockIoThrottle(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
virDomainBlockIoTuneInfo info, expectedInfo;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
expectedInfo = (virDomainBlockIoTuneInfo) {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, NULL, 15, 16, 17, 18, 19, 20};
cleanup:
VIR_FREE(info.group_name);
VIR_FREE(expectedInfo.group_name);
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetTargetArch(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetTargetArch(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
char *arch;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-target",
ret = 0;
cleanup:
VIR_FREE(arch);
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
const char *cap;
char **caps = NULL;
" ],"
" \"id\": \"libvirt-22\""
"}";
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-migrate-capabilities", reply) < 0 ||
cleanup:
virJSONValueFree(json);
- qemuMonitorTestFree(test);
virStringListFree(caps);
virBitmapFree(bitmap);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONSendKey(const void *data)
+testQemuMonitorJSONqemuMonitorJSONSendKey(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
unsigned int keycodes[] = {43, 26, 46, 32};
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "send-key",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONSendKeyHoldtime(const void *data)
+testQemuMonitorJSONqemuMonitorJSONSendKeyHoldtime(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
unsigned int keycodes[] = {43, 26, 46, 32};
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItemParams(test, "send-key",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorSupportsActiveCommit(const void *data)
+testQemuMonitorJSONqemuMonitorSupportsActiveCommit(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
const char *error1 =
"{"
" \"desc\": \"Parameter 'top' is missing\""
" }"
"}";
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItemParams(test, "block-commit", error1,
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetDumpGuestMemoryCapability(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetDumpGuestMemoryCapability(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
int ret = -1;
int cap;
const char *reply =
" },"
" \"id\": \"libvirt-9\""
"}";
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-dump-guest-memory-capability",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
return ret;
}
struct testCPUData {
const char *name;
virDomainXMLOptionPtr xmlopt;
+ virHashTablePtr schema;
};
testQemuMonitorJSONGetCPUData(const void *opaque)
{
const struct testCPUData *data = opaque;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, data->xmlopt);
virCPUDataPtr cpuData = NULL;
char *jsonFile = NULL;
char *dataFile = NULL;
char *jsonStr = NULL;
char *actual = NULL;
int ret = -1;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(data->xmlopt, data->schema)))
return -1;
if (virAsprintf(&jsonFile,
VIR_FREE(jsonStr);
VIR_FREE(actual);
virCPUDataFree(cpuData);
- qemuMonitorTestFree(test);
return ret;
}
static int
testQemuMonitorJSONGetNonExistingCPUData(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr) opaque;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
virCPUDataPtr cpuData = NULL;
int rv, ret = -1;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "qom-list",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
virCPUDataFree(cpuData);
return ret;
}
static int
-testQemuMonitorJSONGetIOThreads(const void *data)
+testQemuMonitorJSONGetIOThreads(const void *opaque)
{
- virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
+ const testGenericData *data = opaque;
+ virDomainXMLOptionPtr xmlopt = data->xmlopt;
qemuMonitorIOThreadInfoPtr *info;
int ninfo = 0;
int ret = -1;
size_t i;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
return -1;
if (qemuMonitorTestAddItem(test, "query-iothreads",
ret = 0;
cleanup:
- qemuMonitorTestFree(test);
for (i = 0; i < ninfo; i++)
VIR_FREE(info[i]);
VIR_FREE(info);
size_t maxvcpus;
virDomainXMLOptionPtr xmlopt;
bool fast;
+ virHashTablePtr schema;
};
testQemuMonitorCPUInfo(const void *opaque)
{
const struct testCPUInfoData *data = opaque;
- qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, data->xmlopt);
virDomainObjPtr vm = NULL;
char *queryCpusFile = NULL;
char *queryHotpluggableFile = NULL;
qemuMonitorCPUInfoPtr vcpus = NULL;
int rc;
int ret = -1;
+ VIR_AUTOPTR(qemuMonitorTest) test = NULL;
- if (!test)
+ if (!(test = qemuMonitorTestNewSchema(data->xmlopt, data->schema)))
return -1;
if (virAsprintf(&queryCpusFile,
VIR_FREE(queryHotpluggableStr);
VIR_FREE(actual);
qemuMonitorCPUInfoFree(vcpus, data->maxvcpus);
- qemuMonitorTestFree(test);
return ret;
}
}
#define DO_TEST(name) \
- if (virTestRun(# name, testQemuMonitorJSON ## name, driver.xmlopt) < 0) \
- ret = -1
+ do { \
+ testGenericData data = { driver.xmlopt, qapiData.schema }; \
+ if (virTestRun(# name, testQemuMonitorJSON ## name, &data) < 0) \
+ ret = -1; \
+ } while (0)
#define DO_TEST_SIMPLE(CMD, FNC, ...) \
simpleFunc = (testQemuMonitorJSONSimpleFuncData) {.cmd = CMD, .func = FNC, \
#define DO_TEST_CPU_DATA(name) \
do { \
- struct testCPUData data = { name, driver.xmlopt }; \
+ struct testCPUData data = { name, driver.xmlopt, qapiData.schema }; \
const char *label = "GetCPUData(" name ")"; \
if (virTestRun(label, testQemuMonitorJSONGetCPUData, &data) < 0) \
ret = -1; \
#define DO_TEST_CPU_INFO(name, maxvcpus) \
do { \
- struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, false}; \
+ struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, false, \
+ qapiData.schema}; \
if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \
&data) < 0) \
ret = -1; \
#define DO_TEST_CPU_INFO_FAST(name, maxvcpus) \
do { \
- struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, true}; \
+ struct testCPUInfoData data = {name, maxvcpus, driver.xmlopt, true, \
+ qapiData.schema }; \
if (virTestRun("GetCPUInfo(" name ")", testQemuMonitorCPUInfo, \
&data) < 0) \
ret = -1; \
DO_TEST(GetCommands);
DO_TEST(GetTPMModels);
DO_TEST(GetCommandLineOptionParameters);
- if (qemuMonitorJSONTestAttachChardev(driver.xmlopt) < 0)
+ if (qemuMonitorJSONTestAttachChardev(driver.xmlopt, qapiData.schema) < 0)
ret = -1;
DO_TEST(DetachChardev);
DO_TEST(GetListPaths);