Closed
Description
On Windows 7, renaming a file to the same name with a different case succeeds, but on pyfakefs it fails with the exception: WindowsError: [Error 17] Fake filesystem object: can not rename to existing file: '\FOO'
See reproduction below:
import pyfakefs.fake_filesystem
import os
with open('foo', 'w') as f:
pass
os.rename('foo', 'foo')
#success
os.rename('foo', 'FOO')
with open('bar', 'w') as f:
pass
try:
os.rename('bar', 'foo')
except WindowsError as e:
pass
os.remove('foo')
fake_filesystem = pyfakefs.fake_filesystem.FakeFilesystem()
fake_os = pyfakefs.fake_filesystem.FakeOsModule(fake_filesystem)
fake_filesystem.CreateFile('foo')
fake_os.rename('foo', 'foo')
#fails WindowsError: [Error 17] Fake filesystem object: can not rename to existing file: '\\FOO'
fake_os.rename('foo', 'FOO')