qemumonitorjsontest: mymain: Automatically free GHashTable

Use separate automatically cleared variables for the x86_64 and s390
versions of the QAPI schema.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Peter Krempa 2021-11-30 11:49:24 +01:00
parent e28f5ddc56
commit 083ad77cd5

View File

@ -2890,6 +2890,8 @@ mymain(void)
int ret = 0;
virQEMUDriver driver;
testQemuMonitorJSONSimpleFuncData simpleFunc;
g_autoptr(GHashTable) qapischema_x86_64 = NULL;
g_autoptr(GHashTable) qapischema_s390x = NULL;
struct testQAPISchemaData qapiData;
g_autoptr(virJSONValue) metaschema = NULL;
g_autofree char *metaschemastr = NULL;
@ -2899,12 +2901,14 @@ mymain(void)
virEventRegisterDefaultImpl();
if (!(qapiData.schema = testQEMUSchemaLoadLatest("x86_64"))) {
VIR_TEST_VERBOSE("failed to load qapi schema");
if (!(qapischema_x86_64 = testQEMUSchemaLoadLatest("x86_64"))) {
VIR_TEST_VERBOSE("failed to load x86_64 qapi schema");
ret = -1;
goto cleanup;
}
qapiData.schema = qapischema_x86_64;
#define DO_TEST(name) \
do { \
testGenericData data = { driver.xmlopt, qapiData.schema }; \
@ -3171,18 +3175,18 @@ mymain(void)
#undef DO_TEST_QUERY_JOBS
virHashFree(qapiData.schema);
if (!(qapiData.schema = testQEMUSchemaLoadLatest("s390x"))) {
if (!(qapischema_s390x = testQEMUSchemaLoadLatest("s390x"))) {
VIR_TEST_VERBOSE("failed to load qapi schema for s390x");
ret = -1;
goto cleanup;
}
qapiData.schema = qapischema_s390x;
DO_TEST(qemuMonitorJSONGetCPUModelComparison);
DO_TEST(qemuMonitorJSONGetCPUModelBaseline);
cleanup:
virHashFree(qapiData.schema);
qemuTestDriverFree(&driver);
return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}