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): ...@@ -122,12 +122,12 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
self.assertEqual(ensure_relative('c:\\home\\foo'), 'c:home\\foo') self.assertEqual(ensure_relative('c:\\home\\foo'), 'c:home\\foo')
self.assertEqual(ensure_relative('home\\foo'), 'home\\foo') self.assertEqual(ensure_relative('home\\foo'), 'home\\foo')
@patch('os.listdir', side_effect=OSError()) def test_copy_tree_exception_in_listdir(self):
def test_copy_tree_exception_in_listdir(self, listdir):
""" """
An exception in listdir should raise a DistutilsFileError 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] src = self.tempdirs[-1]
dir_util.copy_tree(src, None) dir_util.copy_tree(src, None)
......
...@@ -61,24 +61,23 @@ class FileUtilTestCase(support.TempdirManager, unittest.TestCase): ...@@ -61,24 +61,23 @@ class FileUtilTestCase(support.TempdirManager, unittest.TestCase):
wanted = ['moving %s -> %s' % (self.source, self.target_dir)] wanted = ['moving %s -> %s' % (self.source, self.target_dir)]
self.assertEqual(self._logs, wanted) 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 # 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: with open(self.source, 'w') as fobj:
fobj.write('spam eggs') fobj.write('spam eggs')
move_file(self.source, self.target, verbose=0) move_file(self.source, self.target, verbose=0)
@patch('os.rename', side_effect=OSError(errno.EXDEV, 'wrong')) def test_move_file_exception_unpacking_unlink(self):
@patch('os.unlink', side_effect=OSError('wrong', 1))
def test_move_file_exception_unpacking_unlink(self, rename, unlink):
# see issue 22182 # 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: with open(self.source, 'w') as fobj:
fobj.write('spam eggs') fobj.write('spam eggs')
move_file(self.source, self.target, verbose=0) move_file(self.source, self.target, verbose=0)
def test_suite(): def test_suite():
return unittest.makeSuite(FileUtilTestCase) 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