summaryrefslogtreecommitdiff
path: root/tests/test_dir_util.py
diff options
context:
space:
mode:
authorÉric Araujo <aeric@mtlpy.org>2012-12-08 14:21:51 -0500
committerÉric Araujo <aeric@mtlpy.org>2012-12-08 14:21:51 -0500
commit993d79149275b17b639aebd6d3ca2eb960ec6876 (patch)
tree72c60e27f2f5073070c946b1c402a60b7cb88476 /tests/test_dir_util.py
parent921b93fec344e0f75c80eff3cc8754215669f210 (diff)
downloadpython-setuptools-git-993d79149275b17b639aebd6d3ca2eb960ec6876.tar.gz
Ignore .nfs* files in distutils (#7719).
These files are created by some NFS clients a file is edited and removed concurrently (see added link in doc for more info). If such a file is removed between distutils calls listdir and copy, it will get confused. Other special files are ignored in sdist (namely VCS directories), but this has to be filtered out earlier.
Diffstat (limited to 'tests/test_dir_util.py')
-rw-r--r--tests/test_dir_util.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/tests/test_dir_util.py b/tests/test_dir_util.py
index ce74589d..1589f129 100644
--- a/tests/test_dir_util.py
+++ b/tests/test_dir_util.py
@@ -76,7 +76,6 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
remove_tree(self.root_target, verbose=0)
-
def test_copy_tree_verbosity(self):
mkpath(self.target, verbose=0)
@@ -88,11 +87,8 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
mkpath(self.target, verbose=0)
a_file = os.path.join(self.target, 'ok.txt')
- f = open(a_file, 'w')
- try:
+ with open(a_file, 'w') as f:
f.write('some content')
- finally:
- f.close()
wanted = ['copying %s -> %s' % (a_file, self.target2)]
copy_tree(self.target, self.target2, verbose=1)
@@ -101,6 +97,21 @@ class DirUtilTestCase(support.TempdirManager, unittest.TestCase):
remove_tree(self.root_target, verbose=0)
remove_tree(self.target2, verbose=0)
+ def test_copy_tree_skips_nfs_temp_files(self):
+ mkpath(self.target, verbose=0)
+
+ a_file = os.path.join(self.target, 'ok.txt')
+ nfs_file = os.path.join(self.target, '.nfs123abc')
+ for f in a_file, nfs_file:
+ with open(f, 'w') as fh:
+ fh.write('some content')
+
+ copy_tree(self.target, self.target2)
+ self.assertEqual(os.listdir(self.target2), ['ok.txt'])
+
+ remove_tree(self.root_target, verbose=0)
+ remove_tree(self.target2, verbose=0)
+
def test_ensure_relative(self):
if os.sep == '/':
self.assertEqual(ensure_relative('/home/foo'), 'home/foo')