summaryrefslogtreecommitdiff
path: root/tests/test_dir_util.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-08-31 17:31:32 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-08-31 17:31:32 -0400
commitd45818441e0698244819349b0bee441c9d9328de (patch)
treecfecdc22f6b8b095c0ee70540b9c8b3f1883e997 /tests/test_dir_util.py
parentcc179ffe784d64d8ad67f77d8ee74610ae4f7faa (diff)
downloadpython-setuptools-git-d45818441e0698244819349b0bee441c9d9328de.tar.gz
#22315: Use technique outlined in test_file_util
Diffstat (limited to 'tests/test_dir_util.py')
-rw-r--r--tests/test_dir_util.py27
1 files changed, 5 insertions, 22 deletions
diff --git a/tests/test_dir_util.py b/tests/test_dir_util.py
index eb83497f..c9f789c8 100644
--- a/tests/test_dir_util.py
+++ b/tests/test_dir_util.py
@@ -3,7 +3,7 @@ import unittest
import os
import stat
import sys
-import contextlib
+from unittest.mock import patch
from distutils import dir_util, errors
from distutils.dir_util import (mkpath, remove_tree, create_tree, copy_tree,
@@ -14,19 +14,6 @@ from distutils.tests import support
from test.support import run_unittest
-@contextlib.context_manager
-def patch_obj(obj, attr, replacement):
- """
- A poor man's mock.patch.object
- """
- orig = getattr(obj, attr)
- try:
- setattr(obj, attr, replacement)
- yield
- finally:
- setattr(obj, attr, orig)
-
-
class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
def _log(self, msg, *args):
@@ -135,17 +122,13 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
self.assertEqual(ensure_relative('c:\\home\\foo'), 'c:home\\foo')
self.assertEqual(ensure_relative('home\\foo'), 'home\\foo')
- def test_copy_tree_exception_in_listdir(self):
+ @patch('os.listdir', side_effect=OSError())
+ def test_copy_tree_exception_in_listdir(self, listdir):
"""
An exception in listdir should raise a DistutilsFileError
"""
- def new_listdir(path):
- raise OSError()
- # simulate a transient network error or other failure invoking listdir
- with patch_obj(os, 'listdir', new_listdir):
- args = 'src', None
- exc = errors.DistutilsFileError
- self.assertRaises(exc, dir_util.copy_tree, *args)
+ with self.assertRaises(errors.DistutilsFileError):
+ dir_util.copy_tree('src', None)
def test_suite():