mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
tests: refactor testSELinuxLoadDef
Since its introduction in
commit 907a39e735
Add a test suite for validating SELinux labelling
this function did not return NULL on OOM.
Since we abort on OOM now, switch testSELinuxMungePath to void,
return NULL explicitly on XML parsing failure and remove
the (now pointless) cleanup label.
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
c1f8dd2e9e
commit
5c706266cb
@ -82,16 +82,13 @@ testUserXattrEnabled(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
static void
|
||||
testSELinuxMungePath(char **path)
|
||||
{
|
||||
char *tmp;
|
||||
char *tmp = g_strdup_printf("%s/securityselinuxlabeldata%s", abs_builddir, *path);
|
||||
|
||||
tmp = g_strdup_printf("%s/securityselinuxlabeldata%s", abs_builddir, *path);
|
||||
|
||||
VIR_FREE(*path);
|
||||
g_free(*path);
|
||||
*path = tmp;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
@ -154,7 +151,7 @@ testSELinuxLoadFileList(const char *testname,
|
||||
static virDomainDef *
|
||||
testSELinuxLoadDef(const char *testname)
|
||||
{
|
||||
char *xmlfile = NULL;
|
||||
g_autofree char *xmlfile = NULL;
|
||||
virDomainDef *def = NULL;
|
||||
size_t i;
|
||||
|
||||
@ -163,15 +160,14 @@ testSELinuxLoadDef(const char *testname)
|
||||
|
||||
if (!(def = virDomainDefParseFile(xmlfile, driver.xmlopt,
|
||||
NULL, 0)))
|
||||
goto cleanup;
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < def->ndisks; i++) {
|
||||
if (def->disks[i]->src->type != VIR_STORAGE_TYPE_FILE &&
|
||||
def->disks[i]->src->type != VIR_STORAGE_TYPE_BLOCK)
|
||||
continue;
|
||||
|
||||
if (testSELinuxMungePath(&def->disks[i]->src->path) < 0)
|
||||
goto cleanup;
|
||||
testSELinuxMungePath(&def->disks[i]->src->path);
|
||||
}
|
||||
|
||||
for (i = 0; i < def->nserials; i++) {
|
||||
@ -182,23 +178,17 @@ testSELinuxLoadDef(const char *testname)
|
||||
continue;
|
||||
|
||||
if (def->serials[i]->source->type == VIR_DOMAIN_CHR_TYPE_UNIX) {
|
||||
if (testSELinuxMungePath(&def->serials[i]->source->data.nix.path) < 0)
|
||||
goto cleanup;
|
||||
testSELinuxMungePath(&def->serials[i]->source->data.nix.path);
|
||||
} else {
|
||||
if (testSELinuxMungePath(&def->serials[i]->source->data.file.path) < 0)
|
||||
goto cleanup;
|
||||
testSELinuxMungePath(&def->serials[i]->source->data.file.path);
|
||||
}
|
||||
}
|
||||
|
||||
if (def->os.kernel &&
|
||||
testSELinuxMungePath(&def->os.kernel) < 0)
|
||||
goto cleanup;
|
||||
if (def->os.initrd &&
|
||||
testSELinuxMungePath(&def->os.initrd) < 0)
|
||||
goto cleanup;
|
||||
if (def->os.kernel)
|
||||
testSELinuxMungePath(&def->os.kernel);
|
||||
if (def->os.initrd)
|
||||
testSELinuxMungePath(&def->os.initrd);
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xmlfile);
|
||||
return def;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user