From 5eb74d5c8ecb1a56457787ffe956c6034d4ca6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Freitag?= Date: Sun, 15 Nov 2020 10:25:36 +0100 Subject: [PATCH] tests: Always cleanup when exiting modify_env context manager Previously, an exception would leave the environment changed. --- tests/utils.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/utils.py b/tests/utils.py index 30c885e01..d09a9d6f8 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -54,9 +54,11 @@ def modify_env(**env): original_env = os.environ.copy() for k, v in env.items(): os.environ[k] = v - yield - for k in env: - try: - os.environ[k] = original_env[k] - except KeyError: - os.unsetenv(k) + try: + yield + finally: + for k in env: + try: + os.environ[k] = original_env[k] + except KeyError: + os.unsetenv(k)