Merge pull request #8431 from francoisfreitag/never-leak-env

tests: Always cleanup when exiting modify_env context manager
This commit is contained in:
Takeshi KOMIYA 2020-11-15 20:42:24 +09:00 committed by GitHub
commit ba496f4d92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)