[Python-checkins] cpython (3.4): use patch context manager instead of decorator because the decorator 'leaks'
benjamin.peterson
python-checkins at python.org
Sat Sep 20 17:53:32 CEST 2014
https://hg.python.org/cpython/rev/bf6163635eda
changeset: 92490:bf6163635eda
branch: 3.4
parent: 92488:eb9eac80c17a
user: Benjamin Peterson <benjamin at python.org>
date: Sat Sep 20 11:53:12 2014 -0400
summary:
use patch context manager instead of decorator because the decorator 'leaks' metadata onto the function
files:
Lib/distutils/tests/test_dir_util.py | 6 +++---
Lib/distutils/tests/test_file_util.py | 15 +++++++--------
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/Lib/distutils/tests/test_dir_util.py b/Lib/distutils/tests/test_dir_util.py
--- a/Lib/distutils/tests/test_dir_util.py
+++ b/Lib/distutils/tests/test_dir_util.py
@@ -122,12 +122,12 @@
self.assertEqual(ensure_relative('c:\\home\\foo'), 'c:home\\foo')
self.assertEqual(ensure_relative('home\\foo'), 'home\\foo')
- @patch('os.listdir', side_effect=OSError())
- def test_copy_tree_exception_in_listdir(self, listdir):
+ def test_copy_tree_exception_in_listdir(self):
"""
An exception in listdir should raise a DistutilsFileError
"""
- with self.assertRaises(errors.DistutilsFileError):
+ with patch("os.listdir", side_effect=OSError()), \
+ self.assertRaises(errors.DistutilsFileError):
src = self.tempdirs[-1]
dir_util.copy_tree(src, None)
diff --git a/Lib/distutils/tests/test_file_util.py b/Lib/distutils/tests/test_file_util.py
--- a/Lib/distutils/tests/test_file_util.py
+++ b/Lib/distutils/tests/test_file_util.py
@@ -61,24 +61,23 @@
wanted = ['moving %s -> %s' % (self.source, self.target_dir)]
self.assertEqual(self._logs, wanted)
- @patch('os.rename', side_effect=OSError('wrong', 1))
- def test_move_file_exception_unpacking_rename(self, _):
+ def test_move_file_exception_unpacking_rename(self):
# see issue 22182
- with self.assertRaises(DistutilsFileError):
+ with patch("os.rename", side_effect=OSError("wrong", 1)), \
+ self.assertRaises(DistutilsFileError):
with open(self.source, 'w') as fobj:
fobj.write('spam eggs')
move_file(self.source, self.target, verbose=0)
- @patch('os.rename', side_effect=OSError(errno.EXDEV, 'wrong'))
- @patch('os.unlink', side_effect=OSError('wrong', 1))
- def test_move_file_exception_unpacking_unlink(self, rename, unlink):
+ def test_move_file_exception_unpacking_unlink(self):
# see issue 22182
- with self.assertRaises(DistutilsFileError):
+ with patch("os.rename", side_effect=OSError(errno.EXDEV, "wrong")), \
+ patch("os.unlink", side_effect=OSError("wrong", 1)), \
+ self.assertRaises(DistutilsFileError):
with open(self.source, 'w') as fobj:
fobj.write('spam eggs')
move_file(self.source, self.target, verbose=0)
-
def test_suite():
return unittest.makeSuite(FileUtilTestCase)
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list