summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/unit/rpc/test_zmq.py19
-rw-r--r--tests/utils.py1
2 files changed, 14 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)
diff --git a/tests/utils.py b/tests/utils.py
index 3c749f6..f9854ca 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -35,6 +35,7 @@ class BaseTestCase(testtools.TestCase):
self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs
self.addCleanup(CONF.reset)
self.useFixture(fixtures.FakeLogger('openstack.common'))
+ self.useFixture(fixtures.Timeout(30, True))
def config(self, **kw):
"""