From: Christian Heimes Date: Wed, 17 Aug 2022 05:24:53 +0000 (+0200) Subject: gh-96005: FreeBSD has ENOTCAPABLE, too (GH-96034) X-Git-Tag: v3.12.0a1~633 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da0aa518bf5e6ac9de444a405c40649cfb0245eb;p=thirdparty%2FPython%2Fcpython.git gh-96005: FreeBSD has ENOTCAPABLE, too (GH-96034) --- diff --git a/Doc/library/errno.rst b/Doc/library/errno.rst index da4e964ac3f0..5122c69697ef 100644 --- a/Doc/library/errno.rst +++ b/Doc/library/errno.rst @@ -663,6 +663,6 @@ defined by the module. The specific list of defined symbols is available as Capabilities insufficient. This error is mapped to the exception :exc:`PermissionError`. - .. availability:: WASI + .. availability:: WASI, FreeBSD .. versionadded:: 3.11.1 diff --git a/Lib/test/test_exception_hierarchy.py b/Lib/test/test_exception_hierarchy.py index 89fe9ddcefba..3318fa8e7746 100644 --- a/Lib/test/test_exception_hierarchy.py +++ b/Lib/test/test_exception_hierarchy.py @@ -63,7 +63,7 @@ class HierarchyTest(unittest.TestCase): +-- InterruptedError EINTR +-- IsADirectoryError EISDIR +-- NotADirectoryError ENOTDIR - +-- PermissionError EACCES, EPERM + +-- PermissionError EACCES, EPERM, ENOTCAPABLE +-- ProcessLookupError ESRCH +-- TimeoutError ETIMEDOUT """ @@ -75,6 +75,8 @@ class HierarchyTest(unittest.TestCase): continue excname, _, errnames = line.partition(' ') for errname in filter(None, errnames.strip().split(', ')): + if errname == "ENOTCAPABLE" and not hasattr(errno, errname): + continue _map[getattr(errno, errname)] = getattr(builtins, excname) return _map _map = _make_map(_pep_map) @@ -91,7 +93,7 @@ class HierarchyTest(unittest.TestCase): othercodes = set(errno.errorcode) - set(self._map) for errcode in othercodes: e = OSError(errcode, "Some message") - self.assertIs(type(e), OSError) + self.assertIs(type(e), OSError, repr(e)) def test_try_except(self): filename = "some_hopefully_non_existing_file"