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)
diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py
index 9724d9e..de93d95 100644
--- a/Lib/test/test_venv.py
+++ b/Lib/test/test_venv.py
@@ -394,11 +394,7 @@
with open(os.devnull, "rb") as f:
self.assertEqual(f.read(), b"")
- # Issue #20541: os.path.exists('nul') is False on Windows
- if os.devnull.lower() == 'nul':
- self.assertFalse(os.path.exists(os.devnull))
- else:
- self.assertTrue(os.path.exists(os.devnull))
+ self.assertTrue(os.path.exists(os.devnull))
def do_test_with_pip(self, system_site_packages):
rmtree(self.env_dir)