virJSONValue *args;
const char *cmdname;
const char *mode;
- int ret = -1;
data = qemuMonitorTestItemGetPrivateData(item);
if (!(val = virJSONValueFromString(cmdstr)))
return -1;
- if (!(cmdname = virJSONValueObjectGetString(val, "execute"))) {
- ret = qemuMonitorTestAddErrorResponse(test, "Missing command name in %s", cmdstr);
- goto cleanup;
- }
+ if (!(cmdname = virJSONValueObjectGetString(val, "execute")))
+ return qemuMonitorTestAddErrorResponse(test, "Missing command name in %s", cmdstr);
if (STRNEQ(cmdname, "guest-shutdown")) {
- ret = qemuMonitorTestAddInvalidCommandResponse(test, "guest-shutdown",
+ return qemuMonitorTestAddInvalidCommandResponse(test, "guest-shutdown",
cmdname);
- goto cleanup;
}
if (!(args = virJSONValueObjectGet(val, "arguments"))) {
- ret = qemuMonitorTestAddErrorResponse(test,
+ return qemuMonitorTestAddErrorResponse(test,
"Missing arguments section");
- goto cleanup;
}
- if (!(mode = virJSONValueObjectGetString(args, "mode"))) {
- ret = qemuMonitorTestAddErrorResponse(test, "Missing shutdown mode");
- goto cleanup;
- }
+ if (!(mode = virJSONValueObjectGetString(args, "mode")))
+ return qemuMonitorTestAddErrorResponse(test, "Missing shutdown mode");
if (STRNEQ(mode, data->mode)) {
- ret = qemuMonitorTestAddErrorResponse(test,
+ return qemuMonitorTestAddErrorResponse(test,
"expected shutdown mode '%s' got '%s'",
data->mode, mode);
- goto cleanup;
}
/* now don't reply but return a qemu agent event */
qemuAgentNotifyEvent(qemuMonitorTestGetAgent(test),
data->event);
- ret = 0;
-
- cleanup:
- return ret;
-
+ return 0;
}
/* Ignore QMP greeting */
if (virJSONValueObjectHasKey(value, "QMP"))
- goto cleanup;
+ return 0;
if (first)
first = false;
printLineSkipEmpty(json, stdout);
}
- cleanup:
return ret;
}
g_autoptr(virJSONValue) val = NULL;
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
g_autofree char *result = NULL;
- int ret = -1;
if (!(val = virJSONValueFromString(data->props))) {
fprintf(stderr, "Failed to parse JSON string '%s'", data->props);
fprintf(stderr,
"\nvirQEMUBuildCommandlineJSON failed process JSON:\n%s\n",
data->props);
- goto cleanup;
+ return -1;
}
result = virBufferContentAndReset(&buf);
fprintf(stderr, "\nFailed to create object string. "
"\nExpected:\n'%s'\nGot:\n'%s'",
NULLSTR(data->expectprops), NULLSTR(result));
- goto cleanup;
+ return -1;
}
- ret = 0;
- cleanup:
- return ret;
+ return 0;
}
static int
{
const testGenericData *data = opaque;
virDomainXMLOption *xmlopt = data->xmlopt;
- int ret = -1;
qemuMonitorMigrationStats stats, expectedStats;
g_autofree char *error = NULL;
g_autoptr(qemuMonitorTest) test = NULL;
" },"
" \"id\": \"libvirt-14\""
"}") < 0)
- goto cleanup;
+ return -1;
if (qemuMonitorJSONGetMigrationStats(qemuMonitorTestGetMonitor(test),
&stats, &error) < 0)
- goto cleanup;
+ return -1;
if (memcmp(&stats, &expectedStats, sizeof(stats)) != 0 || error) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
"Invalid migration statistics");
- goto cleanup;
+ return -1;
}
memset(&stats, 0, sizeof(stats));
if (qemuMonitorJSONGetMigrationStats(qemuMonitorTestGetMonitor(test),
&stats, &error) < 0)
- goto cleanup;
+ return -1;
if (stats.status != QEMU_MONITOR_MIGRATION_STATUS_ERROR ||
STRNEQ_NULLABLE(error, "It's broken")) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
"Invalid failed migration status");
- goto cleanup;
+ return -1;
}
- ret = 0;
- cleanup:
- return ret;
+ return 0;
}
static int
g_autofree char *dataFile = NULL;
g_autofree char *jsonStr = NULL;
g_autofree char *actual = NULL;
- int ret = -1;
g_autoptr(qemuMonitorTest) test = NULL;
if (!(test = qemuMonitorTestNewSchema(data->xmlopt, data->schema)))
abs_srcdir, data->name);
if (virTestLoadFile(jsonFile, &jsonStr) < 0)
- goto cleanup;
+ return -1;
if (qemuMonitorTestAddItem(test, "qom-list",
"{"
" ],"
" \"id\": \"libvirt-19\""
"}") < 0)
- goto cleanup;
+ return -1;
if (qemuMonitorTestAddItem(test, "qom-get", jsonStr) < 0)
- goto cleanup;
+ return -1;
if (qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test),
&cpuData, NULL) < 0)
- goto cleanup;
+ return -1;
if (!(actual = virCPUDataFormat(cpuData)))
- goto cleanup;
+ return -1;
if (virTestCompareToFile(actual, dataFile) < 0)
- goto cleanup;
+ return -1;
- ret = 0;
- cleanup:
- return ret;
+ return 0;
}
static int
const testGenericData *data = opaque;
virDomainXMLOption *xmlopt = data->xmlopt;
g_autoptr(virCPUData) cpuData = NULL;
- int rv, ret = -1;
+ int rv;
g_autoptr(qemuMonitorTest) test = NULL;
if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema)))
" \"desc\": \"The command qom-list has not been found\""
" }"
"}") < 0)
- goto cleanup;
+ return -1;
rv = qemuMonitorJSONGetGuestCPUx86(qemuMonitorTestGetMonitor(test),
&cpuData, NULL);
if (rv != -2) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"Unexpected return value %d, expecting -2", rv);
- goto cleanup;
+ return -1;
}
if (cpuData) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"Unexpected allocation of data = %p, expecting NULL",
cpuData);
- goto cleanup;
+ return -1;
}
- ret = 0;
- cleanup:
- return ret;
+ return 0;
}
static int
int ret = -1;
if (virQEMUQAPISchemaPathGet(data->query, data->schema, &schemaroot) < 0)
- goto cleanup;
+ return -1;
if (!(json = virJSONValueFromString(data->json)))
- goto cleanup;
+ return -1;
if ((testQEMUSchemaValidate(json, schemaroot, data->schema, false,
&debug) == 0) != data->success) {
VIR_FREE(debugstr);
}
-
- cleanup:
return ret;
}
unsigned long long id;
const char *cmdname;
g_autofree char *retmsg = NULL;
- int ret = -1;
if (!(val = virJSONValueFromString(cmdstr)))
return -1;
- if (!(cmdname = virJSONValueObjectGetString(val, "execute"))) {
- ret = qemuMonitorTestAddErrorResponse(test, "Missing guest-sync command name");
- goto cleanup;
- }
+ if (!(cmdname = virJSONValueObjectGetString(val, "execute")))
+ return qemuMonitorTestAddErrorResponse(test, "Missing guest-sync command name");
- if (STRNEQ(cmdname, "guest-sync")) {
- ret = qemuMonitorTestAddInvalidCommandResponse(test, "guest-sync", cmdname);
- goto cleanup;
- }
+ if (STRNEQ(cmdname, "guest-sync"))
+ return qemuMonitorTestAddInvalidCommandResponse(test, "guest-sync", cmdname);
- if (!(args = virJSONValueObjectGet(val, "arguments"))) {
- ret = qemuMonitorTestAddErrorResponse(test, "Missing arguments for guest-sync");
- goto cleanup;
- }
+ if (!(args = virJSONValueObjectGet(val, "arguments")))
+ return qemuMonitorTestAddErrorResponse(test, "Missing arguments for guest-sync");
- if (virJSONValueObjectGetNumberUlong(args, "id", &id)) {
- ret = qemuMonitorTestAddErrorResponse(test, "Missing id for guest sync");
- goto cleanup;
- }
+ if (virJSONValueObjectGetNumberUlong(args, "id", &id))
+ return qemuMonitorTestAddErrorResponse(test, "Missing id for guest sync");
retmsg = g_strdup_printf("{\"return\":%llu}", id);
-
- ret = qemuMonitorTestAddResponse(test, retmsg);
-
- cleanup:
- return ret;
+ return qemuMonitorTestAddResponse(test, retmsg);
}
char *singleReply;
if (virTestLoadFile(fileName, &json) < 0)
- goto cleanup;
+ return NULL;
if (simple && !(test = qemuMonitorTestNewSimple(xmlopt)))
- goto cleanup;
+ return NULL;
/* Our JSON parser expects replies to be separated by a newline character.
* Hence we must preprocess the file a bit. */
if (test && qemuMonitorTestAddItem(test, NULL, singleReply) < 0)
goto error;
- cleanup:
return test;
error:
qemuMonitorTestFree(test);
- test = NULL;
- goto cleanup;
+ return NULL;
}
if (!(ret = qemuMonitorTestNew(driver->xmlopt, vm, driver, NULL,
qmpschema)))
- goto cleanup;
+ return NULL;
tmp = jsonstr;
command = tmp;
goto error;
}
- cleanup:
return ret;
error:
qemuMonitorTestFree(ret);
- ret = NULL;
- goto cleanup;
+ return NULL;
}
const char *name)
{
g_autofree char *xmlpath = NULL;
- virStoragePoolPtr ret = NULL;
if (STRNEQ(name, "inactive")) {
xmlpath = g_strdup_printf("%s/%s%s.xml", abs_srcdir,
if (!virFileExists(xmlpath)) {
virReportError(VIR_ERR_NO_STORAGE_POOL,
"File '%s' not found", xmlpath);
- goto cleanup;
+ return NULL;
}
}
- ret = virGetStoragePool(conn, name, fakeUUID, NULL, NULL);
-
- cleanup:
- return ret;
+ return virGetStoragePool(conn, name, fakeUUID, NULL, NULL);
}
const char *name)
{
g_auto(GStrv) volinfo = NULL;
- virStorageVolPtr ret = NULL;
if (STREQ(pool->name, "inactive")) {
virReportError(VIR_ERR_OPERATION_INVALID,
if (!volinfo[1])
goto fallback;
- ret = virGetStorageVol(pool->conn, pool->name, volinfo[1], volinfo[0],
+ return virGetStorageVol(pool->conn, pool->name, volinfo[1], volinfo[0],
NULL, NULL);
- cleanup:
- return ret;
-
fallback:
- ret = virGetStorageVol(pool->conn, pool->name, name, "block", NULL, NULL);
- goto cleanup;
+ return virGetStorageVol(pool->conn, pool->name, name, "block", NULL, NULL);
}
static int
virReportError(VIR_ERR_INTERNAL_ERROR,
"failed to load XML file '%s'",
xmlpath);
- goto cleanup;
+ return NULL;
}
- cleanup:
-
return xmlbuf;
}