[pypy-commit] pypy default: Avoid a AF_UNIX path that's too long
stefanor
noreply at buildbot.pypy.org
Tue Jan 24 20:43:16 CET 2012
Author: Stefano Rivera <stefano at rivera.za.net>
Branch:
Changeset: r51742:522114ac6c4a
Date: 2012-01-24 21:42 +0200
http://bitbucket.org/pypy/pypy/changeset/522114ac6c4a/
Log: Avoid a AF_UNIX path that's too long
AppTestSocket.test_unix_socket_connect tries to connect to a socket
within TMPDIR. TMPDIR can be quite long, and socket.bind() is length
limited, so chdir and use a relative path.
diff --git a/pypy/module/_socket/test/test_sock_app.py b/pypy/module/_socket/test/test_sock_app.py
--- a/pypy/module/_socket/test/test_sock_app.py
+++ b/pypy/module/_socket/test/test_sock_app.py
@@ -529,26 +529,31 @@
import _socket, os
if not hasattr(_socket, 'AF_UNIX'):
skip('AF_UNIX not supported.')
- sockpath = os.path.join(self.udir, 'app_test_unix_socket_connect')
+ oldcwd = os.getcwd()
+ os.chdir(self.udir)
+ try:
+ sockpath = 'app_test_unix_socket_connect'
- serversock = _socket.socket(_socket.AF_UNIX)
- serversock.bind(sockpath)
- serversock.listen(1)
+ serversock = _socket.socket(_socket.AF_UNIX)
+ serversock.bind(sockpath)
+ serversock.listen(1)
- clientsock = _socket.socket(_socket.AF_UNIX)
- clientsock.connect(sockpath)
- s, addr = serversock.accept()
- assert not addr
+ clientsock = _socket.socket(_socket.AF_UNIX)
+ clientsock.connect(sockpath)
+ s, addr = serversock.accept()
+ assert not addr
- s.send('X')
- data = clientsock.recv(100)
- assert data == 'X'
- clientsock.send('Y')
- data = s.recv(100)
- assert data == 'Y'
+ s.send('X')
+ data = clientsock.recv(100)
+ assert data == 'X'
+ clientsock.send('Y')
+ data = s.recv(100)
+ assert data == 'Y'
- clientsock.close()
- s.close()
+ clientsock.close()
+ s.close()
+ finally:
+ os.chdir(oldcwd)
class AppTestSocketTCP:
More information about the pypy-commit
mailing list