Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
109
venv/Lib/site-packages/zmq/tests/test_proxy_steerable.py
Normal file
109
venv/Lib/site-packages/zmq/tests/test_proxy_steerable.py
Normal file
|
@ -0,0 +1,109 @@
|
|||
# Copyright (C) PyZMQ Developers
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
import time
|
||||
import struct
|
||||
|
||||
import zmq
|
||||
from zmq import devices
|
||||
from zmq.tests import BaseZMQTestCase, SkipTest, PYPY
|
||||
|
||||
if PYPY:
|
||||
# cleanup of shared Context doesn't work on PyPy
|
||||
devices.Device.context_factory = zmq.Context
|
||||
|
||||
|
||||
class TestProxySteerable(BaseZMQTestCase):
|
||||
|
||||
def test_proxy_steerable(self):
|
||||
if zmq.zmq_version_info() < (4, 1):
|
||||
raise SkipTest("Steerable Proxies only in libzmq >= 4.1")
|
||||
dev = devices.ThreadProxySteerable(
|
||||
zmq.PULL,
|
||||
zmq.PUSH,
|
||||
zmq.PUSH,
|
||||
zmq.PAIR
|
||||
)
|
||||
iface = 'tcp://127.0.0.1'
|
||||
port = dev.bind_in_to_random_port(iface)
|
||||
port2 = dev.bind_out_to_random_port(iface)
|
||||
port3 = dev.bind_mon_to_random_port(iface)
|
||||
port4 = dev.bind_ctrl_to_random_port(iface)
|
||||
dev.start()
|
||||
time.sleep(0.25)
|
||||
msg = b'hello'
|
||||
push = self.context.socket(zmq.PUSH)
|
||||
push.connect("%s:%i" % (iface, port))
|
||||
pull = self.context.socket(zmq.PULL)
|
||||
pull.connect("%s:%i" % (iface, port2))
|
||||
mon = self.context.socket(zmq.PULL)
|
||||
mon.connect("%s:%i" % (iface, port3))
|
||||
ctrl = self.context.socket(zmq.PAIR)
|
||||
ctrl.connect("%s:%i" % (iface, port4))
|
||||
push.send(msg)
|
||||
self.sockets.extend([push, pull, mon, ctrl])
|
||||
self.assertEqual(msg, self.recv(pull))
|
||||
self.assertEqual(msg, self.recv(mon))
|
||||
ctrl.send(b'TERMINATE')
|
||||
dev.join()
|
||||
|
||||
def test_proxy_steerable_bind_to_random_with_args(self):
|
||||
if zmq.zmq_version_info() < (4, 1):
|
||||
raise SkipTest("Steerable Proxies only in libzmq >= 4.1")
|
||||
dev = devices.ThreadProxySteerable(
|
||||
zmq.PULL,
|
||||
zmq.PUSH,
|
||||
zmq.PUSH,
|
||||
zmq.PAIR
|
||||
)
|
||||
iface = 'tcp://127.0.0.1'
|
||||
ports = []
|
||||
min, max = 5000, 5050
|
||||
ports.extend([
|
||||
dev.bind_in_to_random_port(iface, min_port=min, max_port=max),
|
||||
dev.bind_out_to_random_port(iface, min_port=min, max_port=max),
|
||||
dev.bind_mon_to_random_port(iface, min_port=min, max_port=max),
|
||||
dev.bind_ctrl_to_random_port(iface, min_port=min, max_port=max)
|
||||
])
|
||||
for port in ports:
|
||||
if port < min or port > max:
|
||||
self.fail('Unexpected port number: %i' % port)
|
||||
|
||||
def test_proxy_steerable_statistics(self):
|
||||
if zmq.zmq_version_info() < (4, 3):
|
||||
raise SkipTest("STATISTICS only in libzmq >= 4.3")
|
||||
dev = devices.ThreadProxySteerable(
|
||||
zmq.PULL,
|
||||
zmq.PUSH,
|
||||
zmq.PUSH,
|
||||
zmq.PAIR
|
||||
)
|
||||
iface = 'tcp://127.0.0.1'
|
||||
port = dev.bind_in_to_random_port(iface)
|
||||
port2 = dev.bind_out_to_random_port(iface)
|
||||
port3 = dev.bind_mon_to_random_port(iface)
|
||||
port4 = dev.bind_ctrl_to_random_port(iface)
|
||||
dev.start()
|
||||
time.sleep(0.25)
|
||||
msg = b'hello'
|
||||
push = self.context.socket(zmq.PUSH)
|
||||
push.connect("%s:%i" % (iface, port))
|
||||
pull = self.context.socket(zmq.PULL)
|
||||
pull.connect("%s:%i" % (iface, port2))
|
||||
mon = self.context.socket(zmq.PULL)
|
||||
mon.connect("%s:%i" % (iface, port3))
|
||||
ctrl = self.context.socket(zmq.PAIR)
|
||||
ctrl.connect("%s:%i" % (iface, port4))
|
||||
push.send(msg)
|
||||
self.sockets.extend([push, pull, mon, ctrl])
|
||||
self.assertEqual(msg, self.recv(pull))
|
||||
self.assertEqual(msg, self.recv(mon))
|
||||
ctrl.send(b'STATISTICS')
|
||||
stats = self.recv_multipart(ctrl)
|
||||
stats_int = [struct.unpack("=Q", x)[0] for x in stats]
|
||||
self.assertEqual(1, stats_int[0])
|
||||
self.assertEqual(len(msg), stats_int[1])
|
||||
self.assertEqual(1, stats_int[6])
|
||||
self.assertEqual(len(msg), stats_int[7])
|
||||
ctrl.send(b'TERMINATE')
|
||||
dev.join()
|
Loading…
Add table
Add a link
Reference in a new issue