Isaac Schwabacher added the comment:

This behavior is caused by the way NFS clients implement unlinking open files: 
instead of unlinking an open file, the filesystem renames it to .nfsXXXX and 
unlinks it on close.  (The search term you want is "silly rename".)  The reason 
this problem appears is that `test.support.fs_is_case_insensitive()` unlinks 
but fails to close the temporary file that it creates.  Of course, any attempt 
to unlink the .nfsXXXX file (for instance, by `shutil.rmtree`) just succeeds in 
renaming it to .nfsYYYY, so there is no way to delete the parent directory 
until the file is closed.

The attached patch modifies the offending function to use the 
`tempfile.NamedTemporaryFile` context manager, which closes the file on leaving 
the block.

----------
keywords: +patch
nosy: +ischwabacher
Added file: http://bugs.python.org/file38289/test_support.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20876>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to