From: xdegaye Date: Sat, 18 Nov 2017 17:10:53 +0000 (+0100) Subject: bpo-29184: Skip test_socketserver tests on PermissionError raised by Android (GH... X-Git-Tag: v3.7.0a3~146 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9001d1f438e968f4d327313e0a95a49f22e724f4;p=python bpo-29184: Skip test_socketserver tests on PermissionError raised by Android (GH-4387) --- diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py index a23373fbdf..6584ba5ba8 100644 --- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -60,10 +60,14 @@ def simple_subprocess(testcase): if pid == 0: # Don't raise an exception; it would be caught by the test harness. os._exit(72) - yield None - pid2, status = os.waitpid(pid, 0) - testcase.assertEqual(pid2, pid) - testcase.assertEqual(72 << 8, status) + try: + yield None + except: + raise + finally: + pid2, status = os.waitpid(pid, 0) + testcase.assertEqual(pid2, pid) + testcase.assertEqual(72 << 8, status) class SocketServerTest(unittest.TestCase): @@ -108,7 +112,12 @@ class SocketServerTest(unittest.TestCase): self.wfile.write(line) if verbose: print("creating server") - server = MyServer(addr, MyHandler) + try: + server = MyServer(addr, MyHandler) + except PermissionError as e: + # Issue 29184: cannot bind() a Unix socket on Android. + self.skipTest('Cannot create server (%s, %s): %s' % + (svrcls, addr, e)) self.assertEqual(server.server_address, server.socket.getsockname()) return server