Hi All, While recently running the test suite I've been getting failures in FileLocatorTest>>testMoveTo if the working directory when the test is run is on a different unix file system to the user's home directory.
The failing primitive is 'primitiveFileRename' in module 'FilePlugin', which calls rename(), which is presumably part of libc - I didn't chase it back through the C code. libc rename() requires the source and destination filenames to be on the same file system. This has been discussed multiple times before: https://pharo.fogbugz.com/f/cases/13957/Add-exception-for-cross-volume-folder-renames https://pharo.fogbugz.com/f/cases/12992/Cannot-move-files-to-another-volume-partition-under-linux https://pharo.fogbugz.com/f/cases/12965/Cannot-moveTo-FileLocator Issue 12965 is even supposed to include a fix, although when I searched through the slice I couldn't find anything that actually looked like a fix. As Nicolai suggested in 12965, the obvious solution is to implement move as copy+delete. It looks like there isn't an easy way to check whether the two files are on the same unix file system, so presumably it would be implemented as try to rename, and if that fails, try to copy and delete. Is there a reason not to propose this as a patch? Thanks, Alistair
