Skip to content

Commit 9001d1f

Browse files
authored
bpo-29184: Skip test_socketserver tests on PermissionError raised by Android (GH-4387)
1 parent 51d546a commit 9001d1f

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

‎Lib/test/test_socketserver.py‎

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,14 @@ def simple_subprocess(testcase):
6060
if pid == 0:
6161
# Don't raise an exception; it would be caught by the test harness.
6262
os._exit(72)
63-
yield None
64-
pid2, status = os.waitpid(pid, 0)
65-
testcase.assertEqual(pid2, pid)
66-
testcase.assertEqual(72 << 8, status)
63+
try:
64+
yield None
65+
except:
66+
raise
67+
finally:
68+
pid2, status = os.waitpid(pid, 0)
69+
testcase.assertEqual(pid2, pid)
70+
testcase.assertEqual(72 << 8, status)
6771

6872

6973
class SocketServerTest(unittest.TestCase):
@@ -108,7 +112,12 @@ def handle(self):
108112
self.wfile.write(line)
109113

110114
if verbose: print("creating server")
111-
server = MyServer(addr, MyHandler)
115+
try:
116+
server = MyServer(addr, MyHandler)
117+
except PermissionError as e:
118+
# Issue 29184: cannot bind() a Unix socket on Android.
119+
self.skipTest('Cannot create server (%s, %s): %s' %
120+
(svrcls, addr, e))
112121
self.assertEqual(server.server_address, server.socket.getsockname())
113122
return server
114123

0 commit comments

Comments
 (0)