diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-17 20:38:47 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-17 20:38:47 -0400 |
commit | 17864e90d64308912feab0c3015a8def716ccbfc (patch) | |
tree | 6ab52fba6dab3d99a4241c701b9c223f8301f59e /coverage/test_helpers.py | |
parent | a280190d816e5bdbfd28821895eaa6d7ea3756fd (diff) | |
download | python-coveragepy-git-17864e90d64308912feab0c3015a8def716ccbfc.tar.gz |
Context managers wouldn't clean up during exceptions.
Diffstat (limited to 'coverage/test_helpers.py')
-rw-r--r-- | coverage/test_helpers.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/coverage/test_helpers.py b/coverage/test_helpers.py index 574a38d4..50cc3298 100644 --- a/coverage/test_helpers.py +++ b/coverage/test_helpers.py @@ -53,16 +53,20 @@ def change_dir(new_dir): """ old_dir = os.getcwd() os.chdir(new_dir) - yield os.getcwd() - os.chdir(old_dir) + try: + yield os.getcwd() + finally: + os.chdir(old_dir) @contextlib.contextmanager def saved_sys_path(): """Save sys.path, and restore it later.""" old_syspath = sys.path[:] - yield - sys.path = old_syspath + try: + yield + finally: + sys.path = old_syspath def setup_with_context_manager(testcase, cm): |