tests/avocado: clean-up socket directory after run
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 17 Nov 2020 17:36:32 +0000 (17:36 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Mon, 23 Nov 2020 09:52:24 +0000 (09:52 +0000)
Previously we were leaving temporary directories behind. While the
QEMUMachine does make efforts to clean up after itself the directory
belongs to the calling function. We use TemporaryDirectory to wrap
this although we explicitly clear the reference in tearDown() as it
doesn't get cleaned up otherwise.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20201117173635.29101-4-alex.bennee@linaro.org>

tests/acceptance/avocado_qemu/__init__.py

index 307020be45f7abf725aa1766c6725a555173d1b4..bf54e419da2c1d9a653aa17b51b9ef5ac247050e 100644 (file)
@@ -171,8 +171,8 @@ class Test(avocado.Test):
             self.cancel("No QEMU binary defined or found in the build tree")
 
     def _new_vm(self, *args):
-        sd = tempfile.mkdtemp(prefix="avo_qemu_sock_")
-        vm = QEMUMachine(self.qemu_bin, sock_dir=sd)
+        self._sd = tempfile.TemporaryDirectory(prefix="avo_qemu_sock_")
+        vm = QEMUMachine(self.qemu_bin, sock_dir=self._sd.name)
         if args:
             vm.add_args(*args)
         return vm
@@ -193,6 +193,7 @@ class Test(avocado.Test):
     def tearDown(self):
         for vm in self._vms.values():
             vm.shutdown()
+        self._sd = None
 
     def fetch_asset(self, name,
                     asset_hash=None, algorithm=None,