Issue 36341: bind() on AF_UNIX socket may fail in tests run as non-root (original) (raw)

This happens on Android where a SELinux policy prevents a plain user to bind() a pathname AF_UNIX socket (abstract and unnamed sockets are not constrained by this policy).

The errors are:

test_asyncio:

ERROR: test_start_unix_server_1 (test.test_asyncio.test_server.SelectorStartServerTests)

Traceback (most recent call last): File "/data/local/tmp/python/lib/python3.8/test/test_asyncio/test_server.py", line 105, in test_start_unix_server_1 srv = self.loop.run_until_complete(asyncio.start_unix_server( File "/data/local/tmp/python/lib/python3.8/asyncio/base_events.py", line 589, in run_until_complete return future.result() File "/data/local/tmp/python/lib/python3.8/asyncio/streams.py", line 115, in start_unix_server return await loop.create_unix_server(factory, path, **kwds) File "/data/local/tmp/python/lib/python3.8/asyncio/unix_events.py", line 285, in create_unix_server sock.bind(path) PermissionError: [Errno 13] Permission denied

test_socket:

ERROR: test_socket_fileno (test.test_socket.GeneralModuleTests)

Traceback (most recent call last): File "/data/local/tmp/python/lib/python3.8/test/test_socket.py", line 1780, in test_socket_fileno s.bind(os.path.join(tmpdir, 'socket')) PermissionError: [Errno 13] Permission denied

test_stat:

ERROR: test_socket (test.test_stat.TestFilemodeCStat)

Traceback (most recent call last): File "/data/local/tmp/python/lib/python3.8/test/test_stat.py", line 198, in test_socket s.bind(TESTFN) PermissionError: [Errno 13] Permission denied

====================================================================== ERROR: test_socket (test.test_stat.TestFilemodePyStat)

Traceback (most recent call last): File "/data/local/tmp/python/lib/python3.8/test/test_stat.py", line 198, in test_socket s.bind(TESTFN) PermissionError: [Errno 13] Permission denied