[Python-Dev] cpython (2.7): Fix posixpath.realpath() for multiple pardirs (fixes issue #6975).

Serhiy Storchaka storchaka at gmail.com
Mon Feb 18 18:56:07 CET 2013


On 18.02.13 19:26, Antoine Pitrou wrote:
> On Mon, 18 Feb 2013 11:24:40 +0100 (CET)
> serhiy.storchaka <python-checkins at python.org> wrote:
>>
>> +    def test_realpath_curdir(self):
>> +        self.assertEqual(realpath('.'), os.getcwd())
>> +        self.assertEqual(realpath('./.'), os.getcwd())
>> +        self.assertEqual(realpath('/'.join(['.'] * 100)), os.getcwd())
>> +
>> +    def test_realpath_pardir(self):
>> +        self.assertEqual(realpath('..'), dirname(os.getcwd()))
>> +        self.assertEqual(realpath('../..'), dirname(dirname(os.getcwd())))
>> +        self.assertEqual(realpath('/'.join(['..'] * 100)), '/')
>
> What if there's a symlink along os.getcwd()?

1. AFAIK, os.getcwd() returns the path with resolved symlinks.
2. realpath() first resolve relative path and then prepends cwd to the 
result.




More information about the Python-Dev mailing list