[PATCH 1/2] tests/functional/.../testcase.py: better socketdir cleanup

Vladimir Sementsov-Ogievskiy posted 2 patches 1 day, 18 hours ago
Maintainers: Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, "Daniel P. Berrangé" <berrange@redhat.com>
[PATCH 1/2] tests/functional/.../testcase.py: better socketdir cleanup
Posted by Vladimir Sementsov-Ogievskiy 1 day, 18 hours ago
TemporaryDirectory prefer explicit call to .cleanup() (or
use context manager). Otherwise it may produce a warning like:

   /usr/lib/python3.10/tempfile.py:1008: \
     ResourceWarning: Implicitly cleaning up \
     <TemporaryDirectory '/tmp/qemu_func_test_sock_4esmf5ba'>

Currently, the only test using socket_dir() is
tests/functional/x86_64/test_vfio_user_client.py, and it does
print this warning, at least with python 3.10.12. With this commit,
the warning disappears.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
 tests/functional/qemu_test/testcase.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py
index 2c0abde395..a122acb560 100644
--- a/tests/functional/qemu_test/testcase.py
+++ b/tests/functional/qemu_test/testcase.py
@@ -233,7 +233,7 @@ def tearDown(self):
         if "QEMU_TEST_KEEP_SCRATCH" not in os.environ:
             shutil.rmtree(self.workdir)
         if self.socketdir is not None:
-            shutil.rmtree(self.socketdir.name)
+            self.socketdir.cleanup()
             self.socketdir = None
         self.machinelog.removeHandler(self._log_fh)
         self.log.removeHandler(self._log_fh)
-- 
2.48.1
Re: [PATCH 1/2] tests/functional/.../testcase.py: better socketdir cleanup
Posted by Thomas Huth 5 hours ago
On 25/10/2025 18.58, Vladimir Sementsov-Ogievskiy wrote:
> TemporaryDirectory prefer explicit call to .cleanup() (or
> use context manager). Otherwise it may produce a warning like:
> 
>     /usr/lib/python3.10/tempfile.py:1008: \
>       ResourceWarning: Implicitly cleaning up \
>       <TemporaryDirectory '/tmp/qemu_func_test_sock_4esmf5ba'>
> 
> Currently, the only test using socket_dir() is
> tests/functional/x86_64/test_vfio_user_client.py, and it does
> print this warning, at least with python 3.10.12. With this commit,
> the warning disappears.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> ---
>   tests/functional/qemu_test/testcase.py | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu_test/testcase.py
> index 2c0abde395..a122acb560 100644
> --- a/tests/functional/qemu_test/testcase.py
> +++ b/tests/functional/qemu_test/testcase.py
> @@ -233,7 +233,7 @@ def tearDown(self):
>           if "QEMU_TEST_KEEP_SCRATCH" not in os.environ:
>               shutil.rmtree(self.workdir)
>           if self.socketdir is not None:
> -            shutil.rmtree(self.socketdir.name)
> +            self.socketdir.cleanup()
>               self.socketdir = None
>           self.machinelog.removeHandler(self._log_fh)
>           self.log.removeHandler(self._log_fh)

Reviewed-by: Thomas Huth <thuth@redhat.com>