mirror of
https://github.com/python/cpython.git
synced 2025-10-30 05:01:30 +00:00
bpo-37834: Normalise handling of reparse points on Windows (GH-15231)
bpo-37834: Normalise handling of reparse points on Windows
* ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed)
* nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point)
* nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour)
* nt.readlink() will read destinations for symlinks and junction points only
bpo-1311: os.path.exists('nul') now returns True on Windows
* nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
This commit is contained in:
parent
bcc446f525
commit
df2d4a6f3d
16 changed files with 477 additions and 240 deletions
|
|
@ -1,6 +1,7 @@
|
|||
"""Tests for the lll script in the Tools/script directory."""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import tempfile
|
||||
from test import support
|
||||
from test.test_tools import skip_if_missing, import_tool
|
||||
|
|
@ -26,12 +27,13 @@ def test_lll_multiple_dirs(self):
|
|||
|
||||
with support.captured_stdout() as output:
|
||||
self.lll.main([dir1, dir2])
|
||||
prefix = '\\\\?\\' if os.name == 'nt' else ''
|
||||
self.assertEqual(output.getvalue(),
|
||||
f'{dir1}:\n'
|
||||
f'symlink -> {fn1}\n'
|
||||
f'symlink -> {prefix}{fn1}\n'
|
||||
f'\n'
|
||||
f'{dir2}:\n'
|
||||
f'symlink -> {fn2}\n'
|
||||
f'symlink -> {prefix}{fn2}\n'
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue