cpython (2.7): Issue #15765: Fix quirky NetBSD getcwd() behaviour.

http://hg.python.org/cpython/rev/bfa5d0ddfbeb changeset: 78798:bfa5d0ddfbeb branch: 2.7 parent: 78792:2801bf875a24 user: Trent Nelson <trent@trent.me> date: Wed Aug 29 09:20:41 2012 -0400 summary: Issue #15765: Fix quirky NetBSD getcwd() behaviour. This is done by extending a previous fix for issue #9185 that was made for Solaris and OpenBSD to NetBSD as well. files: Lib/test/test_posix.py | 12 ++++++++++-- Misc/NEWS | 3 +++ Modules/posixmodule.c | 4 +++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -405,8 +405,16 @@ _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 + # The following platforms have quirky getcwd() + # behaviour -- see issue 9185 and 15765 for + # more information. + quirky_platform = ( + 'sunos' in sys.platform or + 'netbsd' in sys.platform or + 'openbsd' in sys.platform + ) + if quirky_platform: + expected_errno = errno.ERANGE self.assertEqual(e.errno, expected_errno) finally: os.chdir('..') diff --git a/Misc/NEWS b/Misc/NEWS --- a/Misc/NEWS +++ b/Misc/NEWS @@ -346,6 +346,9 @@ Tests ----- +- Issue #15765: Extend a previous fix to Solaris and OpenBSD for quirky + getcwd() behaviour (issue #9185) to NetBSD as well. + - Issue #15615: Add some tests for the json module's handling of invalid input data. Patch by Kushal Das. diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1956,7 +1956,9 @@ "getcwd() -> path\n\n\ Return a string representing the current working directory."); -#if (defined(__sun) && defined(__SVR4)) || defined(__OpenBSD__) +#if (defined(__sun) && defined(__SVR4)) || \ + defined(__OpenBSD__) || \ + defined(__NetBSD__) /* Issue 9185: getcwd() returns NULL/ERANGE indefinitely. */ static PyObject * posix_getcwd(PyObject *self, PyObject *noargs) -- Repository URL: http://hg.python.org/cpython
participants (1)
-
trent.nelson