Merged revisions 82853-82854 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint
........
r82853 | stefan.krah | 2010-07-13 21:17:08 +0200 (Tue, 13 Jul 2010) | 4 lines
Issue #9185: On Solaris and OpenBSD, posix_getcwd() could loop indefinitely
if the path length exceeded PATH_MAX.
........
r82854 | stefan.krah | 2010-07-13 21:40:00 +0200 (Tue, 13 Jul 2010) | 3 lines
Remove PYOS_OS2 special cases from the Solaris/OpenBSD section.
........
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 88d298b..ac3dbb8 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -11,6 +11,7 @@
import os
import pwd
import shutil
+import sys
import unittest
import warnings
warnings.filterwarnings('ignore', '.* potential security risk .*',
@@ -287,8 +288,13 @@
os.chdir(dirname)
try:
os.getcwd()
- if current_path_length < 1027:
+ if current_path_length < 4099:
_create_and_do_getcwd(dirname, current_path_length + len(dirname) + 1)
+ except OSError as e:
+ expected_errno = errno.ENAMETOOLONG
+ if 'sunos' in sys.platform or 'openbsd' in sys.platform:
+ expected_errno = errno.ERANGE # Issue 9185
+ self.assertEqual(e.errno, expected_errno)
finally:
os.chdir('..')
os.rmdir(dirname)