You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
851 B
Python
36 lines
851 B
Python
5 years ago
|
from gevent import monkey; monkey.patch_all()
|
||
|
import socket
|
||
|
import unittest
|
||
|
|
||
|
|
||
|
class TestSocketpair(unittest.TestCase):
|
||
|
|
||
|
def test_makefile(self):
|
||
|
msg = b'hello world'
|
||
|
x, y = socket.socketpair()
|
||
|
x.sendall(msg)
|
||
|
x.close()
|
||
|
with y.makefile('rb') as f:
|
||
|
read = f.read()
|
||
|
self.assertEqual(msg, read)
|
||
|
y.close()
|
||
|
|
||
|
def test_fromfd(self):
|
||
|
msg = b'hello world'
|
||
|
x, y = socket.socketpair()
|
||
|
xx = socket.fromfd(x.fileno(), x.family, socket.SOCK_STREAM)
|
||
|
x.close()
|
||
|
yy = socket.fromfd(y.fileno(), y.family, socket.SOCK_STREAM)
|
||
|
y.close()
|
||
|
|
||
|
xx.sendall(msg)
|
||
|
xx.close()
|
||
|
with yy.makefile('rb') as f:
|
||
|
read = f.read()
|
||
|
self.assertEqual(msg, read)
|
||
|
yy.close()
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
unittest.main()
|