[libvirt] [PATCH] qemuTestDriverInit: Don't access live data

Martin Kletzander mkletzan at redhat.com
Wed Mar 8 09:15:18 UTC 2017


On Mon, Mar 06, 2017 at 08:38:00AM +0100, Michal Privoznik wrote:
>Some of our tests (e.g. qemuhotplugtest) call
>virDomainSaveConfig(). Now the problem is, qemuTestDriverInit()
>creates a fake qemu driver and fills it with some fake
>configuration. At least so we hoped. The truth is, it calls
>regular virQEMUDriverConfigNew() and then fix couple of paths.
>Literally. Therefore our tests see regular stateDir and configDir
>for the user that is running the tests. Directories, where live
>domain XMLs are stored. Let's just hope our test suite hasn't
>mangled any of them.
>
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>---
> tests/testutilsqemu.c | 34 ++++++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
>diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
>index 56a89c913..0726cd317 100644
>--- a/tests/testutilsqemu.c
>+++ b/tests/testutilsqemu.c
>@@ -513,6 +513,10 @@ qemuTestParseCapabilities(virCapsPtr caps,
> void qemuTestDriverFree(virQEMUDriver *driver)
> {
>     virMutexDestroy(&driver->lock);
>+    if (driver->config) {
>+        virFileDeleteTree(driver->config->stateDir);
>+        virFileDeleteTree(driver->config->configDir);
>+    }
>     virQEMUCapsCacheFree(driver->qemuCapsCache);
>     virObjectUnref(driver->xmlopt);
>     virObjectUnref(driver->caps);
>@@ -548,9 +552,14 @@ int qemuTestCapsCacheInsert(virQEMUCapsCachePtr cache, const char *binary,
>     return ret;
> }
>
>+# define STATEDIRTEMPLATE abs_builddir "/qemustatedir-XXXXXX"
>+# define CONFIGDIRTEMPLATE abs_builddir "/qemuconfigdir-XXXXXX"
>+
> int qemuTestDriverInit(virQEMUDriver *driver)
> {
>     virSecurityManagerPtr mgr = NULL;
>+    char statedir[] = STATEDIRTEMPLATE;
>+    char configdir[] = CONFIGDIRTEMPLATE;
>

There's no point in creating these variables, otherwise ACK.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170308/2b39ed9e/attachment-0001.sig>


More information about the libvir-list mailing list