mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
tests: Always cleanup when exiting modify_env context manager
Previously, an exception would leave the environment changed.
This commit is contained in:
parent
5a42348fd7
commit
5eb74d5c8e
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user