summaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-28 07:57:14 +0000
committerGerrit Code Review <review@openstack.org>2013-01-28 07:57:14 +0000
commitb804887d3d9cf6202212baa58ed8d1044bce8a65 (patch)
tree79c7be644c536d3f21748f1ebedc1b4668950212 /tests/unit
parent03dd4e7d4eb751bfad58322600464852942d5af9 (diff)
parenta387d1fb044ae05be366febe0796e0f0080d43ef (diff)
downloadoslo-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.py19
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)