From: Trent Nelson Date: Wed, 29 Aug 2012 13:20:41 +0000 (-0400) Subject: Issue #15765: Fix quirky NetBSD getcwd() behaviour. X-Git-Tag: v2.7.5~109^2~346^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da4277a739bab61e79dc4d064b1e1648ddd59150;p=python 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. --- diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 755a81c350..2eba77043e 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -405,8 +405,16 @@ class PosixTester(unittest.TestCase): _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 index 54c260c660..1b7f80f01a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -346,6 +346,9 @@ Library 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 index 1bd5c1ac68..ea810ecaea 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -1956,7 +1956,9 @@ PyDoc_STRVAR(posix_getcwd__doc__, "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)