Issue #28815: Skip TIPC tests if /proc/modules is not readable
Based on patch by Patrila.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 765d7c0..2b20a79 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1707,9 +1707,17 @@
"""
if not hasattr(socket, "AF_TIPC"):
return False
- if not os.path.isfile("/proc/modules"):
- return False
- with open("/proc/modules") as f:
+ try:
+ f = open("/proc/modules")
+ except IOError as e:
+ # It's ok if the file does not exist, is a directory or if we
+ # have not the permission to read it. In any other case it's a
+ # real error, so raise it again.
+ if e.errno in (errno.ENOENT, errno.EISDIR, errno.EACCES):
+ return False
+ else:
+ raise
+ with f:
for line in f:
if line.startswith("tipc "):
return True