diff options
author | Martin Panter <vadmium+py@gmail.com> | 2016-02-24 05:12:59 (GMT) |
---|---|---|
committer | Martin Panter <vadmium+py@gmail.com> | 2016-02-24 05:12:59 (GMT) |
commit | 1827eff03087d0e7975806967a68a349e10e5188 (patch) | |
tree | 85e0af16f1e933407e8c7d8d32f6709538cfe456 /Lib/test | |
parent | ee3074e1f473c2ebdc89e2b6889747fc586002e9 (diff) | |
download | cpython-1827eff03087d0e7975806967a68a349e10e5188.zip cpython-1827eff03087d0e7975806967a68a349e10e5188.tar.gz cpython-1827eff03087d0e7975806967a68a349e10e5188.tar.bz2 |
Issue #5824: Fix DatagramRequestHandler tests by binding the client socket
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_socketserver.py | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py index dc23210..0d0f86f 100644 --- a/Lib/test/test_socketserver.py +++ b/Lib/test/test_socketserver.py @@ -160,6 +160,8 @@ class SocketServerTest(unittest.TestCase): def dgram_examine(self, proto, addr): s = socket.socket(proto, socket.SOCK_DGRAM) + if HAVE_UNIX_SOCKETS and proto == socket.AF_UNIX: + s.bind(self.pickaddr(proto)) s.sendto(TEST_STR, addr) buf = data = receive(s, 100) while data and b'\n' not in buf: @@ -222,27 +224,24 @@ class SocketServerTest(unittest.TestCase): socketserver.DatagramRequestHandler, self.dgram_examine) - # Alas, on Linux (at least) recvfrom() doesn't return a meaningful - # client address so this cannot work: - - # @requires_unix_sockets - # def test_UnixDatagramServer(self): - # self.run_server(socketserver.UnixDatagramServer, - # socketserver.DatagramRequestHandler, - # self.dgram_examine) - # - # @requires_unix_sockets - # def test_ThreadingUnixDatagramServer(self): - # self.run_server(socketserver.ThreadingUnixDatagramServer, - # socketserver.DatagramRequestHandler, - # self.dgram_examine) - # - # @requires_unix_sockets - # @requires_forking - # def test_ForkingUnixDatagramServer(self): - # self.run_server(socketserver.ForkingUnixDatagramServer, - # socketserver.DatagramRequestHandler, - # self.dgram_examine) + @requires_unix_sockets + def test_UnixDatagramServer(self): + self.run_server(socketserver.UnixDatagramServer, + socketserver.DatagramRequestHandler, + self.dgram_examine) + + @requires_unix_sockets + def test_ThreadingUnixDatagramServer(self): + self.run_server(socketserver.ThreadingUnixDatagramServer, + socketserver.DatagramRequestHandler, + self.dgram_examine) + + @requires_unix_sockets + @requires_forking + def test_ForkingUnixDatagramServer(self): + self.run_server(ForkingUnixDatagramServer, + socketserver.DatagramRequestHandler, + self.dgram_examine) @reap_threads def test_shutdown(self): |