diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index cf87de187f152e4fab1c05f94068b2b2e0e1abaa..a67b6ce607997cd28175b65bf661462b6c57f103 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -594,8 +594,6 @@ testQemuHotplugCpuIndividual(const void *opaque) return ret; } -#define FAKEROOTDIRTEMPLATE abs_builddir "/fakerootdir-XXXXXX" - static int mymain(void) @@ -604,18 +602,8 @@ mymain(void) int ret = 0; struct qemuHotplugTestData data = {0}; struct testQemuHotplugCpuParams cpudata; - g_autofree char *fakerootdir = NULL; g_autoptr(virQEMUDriverConfig) cfg = NULL; - fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE); - - if (!g_mkdtemp(fakerootdir)) { - fprintf(stderr, "Cannot create fakerootdir"); - abort(); - } - - g_setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, TRUE); - if (qemuTestDriverInit(&driver) < 0) return EXIT_FAILURE; @@ -891,9 +879,6 @@ mymain(void) DO_TEST_CPU_INDIVIDUAL("ppc64-modern-individual", "16-22", true, true, true); DO_TEST_CPU_INDIVIDUAL("ppc64-modern-individual", "17", true, true, true); - if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL) - virFileDeleteTree(fakerootdir); - qemuTestDriverFree(&driver); virObjectUnref(data.vm); return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE; diff --git a/tests/qemumemlocktest.c b/tests/qemumemlocktest.c index 3f18fed1c33d970a7bbcca7f08673d7e4afb103c..4813c7beb046524ae42141ff91419745dc47d3a0 100644 --- a/tests/qemumemlocktest.c +++ b/tests/qemumemlocktest.c @@ -51,28 +51,14 @@ testCompareMemLock(const void *data) return ret; } -# define FAKEROOTDIRTEMPLATE abs_builddir "/fakerootdir-XXXXXX" - static int mymain(void) { int ret = 0; - char *fakerootdir; virQEMUCapsPtr qemuCaps = NULL; - fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE); - - if (!g_mkdtemp(fakerootdir)) { - fprintf(stderr, "Cannot create fakerootdir"); - abort(); - } - - g_setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, TRUE); - - if (qemuTestDriverInit(&driver) < 0) { - VIR_FREE(fakerootdir); + if (qemuTestDriverInit(&driver) < 0) return EXIT_FAILURE; - } driver.privileged = true; @@ -150,11 +136,7 @@ mymain(void) cleanup: virObjectUnref(qemuCaps); - if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL) - virFileDeleteTree(fakerootdir); - qemuTestDriverFree(&driver); - VIR_FREE(fakerootdir); return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; } diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 04febd1b0c70b17b62cd4a279ae8e06bdeacb14d..8bd6102d26ff5287038d88146b8237a86eee975b 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -609,24 +609,12 @@ testInfoSetPaths(struct testQemuInfo *info, abs_srcdir, info->name, suffix ? suffix : ""); } -# define FAKEROOTDIRTEMPLATE abs_builddir "/fakerootdir-XXXXXX" - static int mymain(void) { int ret = 0; - char *fakerootdir; virHashTablePtr capslatest = NULL; - fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE); - - if (!g_mkdtemp(fakerootdir)) { - fprintf(stderr, "Cannot create fakerootdir"); - abort(); - } - - g_setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, TRUE); - /* Set the timezone because we are mocking the time() function. * If we don't do that, then localtime() may return unpredictable * results. In order to detect things that just work by a blind @@ -3232,12 +3220,8 @@ mymain(void) DO_TEST_CAPS_LATEST("virtio-9p-multidevs"); - if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL) - virFileDeleteTree(fakerootdir); - VIR_FREE(driver.config->nbdTLSx509certdir); qemuTestDriverFree(&driver); - VIR_FREE(fakerootdir); virHashFree(capslatest); virFileWrapperClearPrefixes(); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 86f3d2c1f3b1307986580d176e2e982e4109eb5d..6a0adab6035587ef26af0a1bd65d5b765e6a581d 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -126,13 +126,10 @@ testInfoSetStatusPaths(struct testQemuInfo *info) } -# define FAKEROOTDIRTEMPLATE abs_builddir "/fakerootdir-XXXXXX" - static int mymain(void) { int ret = 0; - char *fakerootdir; virQEMUDriverConfigPtr cfg = NULL; virHashTablePtr capslatest = NULL; @@ -140,15 +137,6 @@ mymain(void) if (!capslatest) return EXIT_FAILURE; - fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE); - - if (!g_mkdtemp(fakerootdir)) { - fprintf(stderr, "Cannot create fakerootdir"); - abort(); - } - - g_setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, TRUE); - /* Required for tpm-emulator tests */ virFileWrapperAddPrefix(SYSCONFDIR "/qemu/firmware", @@ -1478,12 +1466,8 @@ mymain(void) DO_TEST_CAPS_LATEST("virtio-9p-multidevs"); - if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL) - virFileDeleteTree(fakerootdir); - virHashFree(capslatest); qemuTestDriverFree(&driver); - VIR_FREE(fakerootdir); virFileWrapperClearPrefixes(); return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index 9f9eb4033c410019798570387fa4e984ae875ef0..c7983f0014dd4ca0a8a9c605bf74d2f21ff352b0 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -307,11 +307,10 @@ qemuTestParseCapabilitiesArch(virArch arch, void qemuTestDriverFree(virQEMUDriver *driver) { + if (g_getenv("LIBVIRT_SKIP_CLEANUP") == NULL) + virFileDeleteTree(driver->embeddedRoot); + virMutexDestroy(&driver->lock); - if (driver->config) { - virFileDeleteTree(driver->config->stateDir); - virFileDeleteTree(driver->config->configDir); - } virObjectUnref(driver->qemuCapsCache); virObjectUnref(driver->xmlopt); virObjectUnref(driver->caps); @@ -370,14 +369,21 @@ int qemuTestCapsCacheInsert(virFileCachePtr cache, } -# define STATEDIRTEMPLATE abs_builddir "/qemustatedir-XXXXXX" -# define CONFIGDIRTEMPLATE abs_builddir "/qemuconfigdir-XXXXXX" +# define FAKEROOTDIRTEMPLATE abs_builddir "/fakerootdir-XXXXXX" int qemuTestDriverInit(virQEMUDriver *driver) { virSecurityManagerPtr mgr = NULL; - char statedir[] = STATEDIRTEMPLATE; - char configdir[] = CONFIGDIRTEMPLATE; + g_autofree char *fakerootdir = NULL; + + fakerootdir = g_strdup(FAKEROOTDIRTEMPLATE); + + if (!g_mkdtemp(fakerootdir)) { + fprintf(stderr, "Cannot create fakerootdir"); + abort(); + } + + g_setenv("LIBVIRT_FAKE_ROOT_DIR", fakerootdir, TRUE); memset(driver, 0, sizeof(*driver)); @@ -391,35 +397,16 @@ int qemuTestDriverInit(virQEMUDriver *driver) return -1; driver->hostarch = virArchFromHost(); - driver->config = virQEMUDriverConfigNew(false, NULL); + driver->config = virQEMUDriverConfigNew(false, fakerootdir); if (!driver->config) goto error; - /* Do this early so that qemuTestDriverFree() doesn't see (unlink) the real - * dirs. */ - VIR_FREE(driver->config->stateDir); - VIR_FREE(driver->config->configDir); - /* Overwrite some default paths so it's consistent for tests. */ VIR_FREE(driver->config->libDir); VIR_FREE(driver->config->channelTargetDir); driver->config->libDir = g_strdup("/tmp/lib"); driver->config->channelTargetDir = g_strdup("/tmp/channel"); - if (!g_mkdtemp(statedir)) { - fprintf(stderr, "Cannot create fake stateDir"); - goto error; - } - - driver->config->stateDir = g_strdup(statedir); - - if (!g_mkdtemp(configdir)) { - fprintf(stderr, "Cannot create fake configDir"); - goto error; - } - - driver->config->configDir = g_strdup(configdir); - driver->caps = testQemuCapsInit(); if (!driver->caps) goto error;