From 17864e90d64308912feab0c3015a8def716ccbfc Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Mon, 17 Aug 2015 20:38:47 -0400 Subject: Context managers wouldn't clean up during exceptions. --- coverage/test_helpers.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'coverage/test_helpers.py') 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): -- cgit v1.2.1