mirror of
https://github.com/python/cpython.git
synced 2025-10-25 18:54:53 +00:00
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.
This commit is contained in:
parent
09974b4e9e
commit
3e4a3dcb23
5 changed files with 33 additions and 8 deletions
|
|
@ -76,7 +76,6 @@ def test_create_tree_verbosity(self):
|
|||
|
||||
remove_tree(self.root_target, verbose=0)
|
||||
|
||||
|
||||
def test_copy_tree_verbosity(self):
|
||||
|
||||
mkpath(self.target, verbose=0)
|
||||
|
|
@ -88,11 +87,8 @@ def test_copy_tree_verbosity(self):
|
|||
|
||||
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 @@ def test_copy_tree_verbosity(self):
|
|||
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')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue