Kaydet (Commit) 9833fcbc authored tarafından Benjamin Peterson's avatar Benjamin Peterson

use patch context manager instead of decorator because the decorator 'leaks'…

use patch context manager instead of decorator because the decorator 'leaks' metadata onto the function
üst 96756b6a
......@@ -122,12 +122,12 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
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)
......
......@@ -61,24 +61,23 @@ class FileUtilTestCase(support.TempdirManager, unittest.TestCase):
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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment