From 7f443f42d95c93d8d15b6d6e921a79e1c1317b78 Mon Sep 17 00:00:00 2001 From: Douglas Raillard Date: Tue, 25 Jun 2024 13:20:27 +0100 Subject: [PATCH] lisa.utils: Avoid using tempfile.TemporaryDirectory(delete) parameter FIX That delete parameter is only available from Python 3.12. --- lisa/utils.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/lisa/utils.py b/lisa/utils.py index c1f10c6e4..5a4780395 100644 --- a/lisa/utils.py +++ b/lisa/utils.py @@ -3862,17 +3862,20 @@ class DirCache(Loggable): @contextlib.contextmanager def temp_dir(base): - with tempfile.TemporaryDirectory(dir=base, delete=False) as path: - delete = True - def enable_cleanup(enable): - nonlocal delete - delete = enable + delete = True + def enable_cleanup(enable): + nonlocal delete + delete = enable - try: - yield (path, enable_cleanup) - finally: - if delete: - shutil.rmtree(path) + path = None + + try: + path = tempfile.mkdtemp(dir=base) + + yield (path, enable_cleanup) + finally: + if delete and path: + shutil.rmtree(path) # Create the cache entry under a temp name, so we can # atomically rename it and fix races with other -- GitLab