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 | a93e08dc9ec2c75429002e6bc3e68e2720924f43 (patch) | |
tree | abb30e0b8cd2d061b96aade5d0c3fec364d495f4 /coverage/test_helpers.py | |
parent | dc846e2c6b2c988a90a8d6b8383bcc4bc2b5d032 (diff) | |
download | python-coveragepy-a93e08dc9ec2c75429002e6bc3e68e2720924f43.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 574a38d..50cc329 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): |