diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-01-28 07:57:14 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-01-28 07:57:14 +0000 |
commit | b804887d3d9cf6202212baa58ed8d1044bce8a65 (patch) | |
tree | 79c7be644c536d3f21748f1ebedc1b4668950212 /tests/unit | |
parent | 03dd4e7d4eb751bfad58322600464852942d5af9 (diff) | |
parent | a387d1fb044ae05be366febe0796e0f0080d43ef (diff) | |
download | oslo-b804887d3d9cf6202212baa58ed8d1044bce8a65.tar.gz oslo-b804887d3d9cf6202212baa58ed8d1044bce8a65.tar.xz oslo-b804887d3d9cf6202212baa58ed8d1044bce8a65.zip |
Merge "Prevent parallel test port clashes for zmq."
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/rpc/test_zmq.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/unit/rpc/test_zmq.py b/tests/unit/rpc/test_zmq.py index 2f0c20d..2aac2b3 100644 --- a/tests/unit/rpc/test_zmq.py +++ b/tests/unit/rpc/test_zmq.py @@ -23,6 +23,7 @@ eventlet.monkey_patch() import logging import os +import socket import fixtures @@ -44,17 +45,23 @@ LOG = logging.getLogger(__name__) FLAGS = cfg.CONF +def get_unused_port(): + """ + Returns an unused port on localhost. + """ + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.bind(('localhost', 0)) + addr, port = s.getsockname() + s.close() + return port + + class _RpcZmqBaseTestCase(common.BaseRpcTestCase): - # TESTCNT needs to be a class var as each run - # by subclasses must have a unique identifier - TESTCNT = 0 rpc = impl_zmq def setUp(self, topic='test', topic_nested='nested'): if not impl_zmq: self.skipTest("ZeroMQ library required") - _RpcZmqBaseTestCase.TESTCNT += 1 - testcnt = _RpcZmqBaseTestCase.TESTCNT self.reactor = None self.rpc = impl_zmq @@ -74,7 +81,7 @@ class _RpcZmqBaseTestCase(common.BaseRpcTestCase): # between tearDown() and setUp() # TODO(mordred): replace this with testresources once we're on # testr - self.config(rpc_zmq_port=9500 + testcnt) + self.config(rpc_zmq_port=get_unused_port()) internal_ipc_dir = self.useFixture(fixtures.TempDir()).path self.config(rpc_zmq_ipc_dir=internal_ipc_dir) |