summaryrefslogtreecommitdiffstats
path: root/nova/test.py
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-02-23 01:51:47 -0800
committerVishvananda Ishaya <vishvananda@gmail.com>2011-02-23 01:51:47 -0800
commit8cfcd2b987a9d7df6b020acb4c49888b81fbd895 (patch)
tree7c201b6353ebc591f4838c6991937cb2b07cd747 /nova/test.py
parent2bec58e35ab1f2df543e50d399433f76e98210d7 (diff)
parentafcec00e9e05031e1e7c086ff75fb05cf97c412d (diff)
downloadnova-8cfcd2b987a9d7df6b020acb4c49888b81fbd895.tar.gz
nova-8cfcd2b987a9d7df6b020acb4c49888b81fbd895.tar.xz
nova-8cfcd2b987a9d7df6b020acb4c49888b81fbd895.zip
merged trunk
Diffstat (limited to 'nova/test.py')
-rw-r--r--nova/test.py38
1 files changed, 30 insertions, 8 deletions
diff --git a/nova/test.py b/nova/test.py
index 42accffa7..6cbbb9e8e 100644
--- a/nova/test.py
+++ b/nova/test.py
@@ -23,6 +23,7 @@ and some black magic for inline callbacks.
"""
import datetime
+import uuid
import unittest
import mox
@@ -34,6 +35,7 @@ from nova import db
from nova import fakerabbit
from nova import flags
from nova import rpc
+from nova import service
FLAGS = flags.FLAGS
@@ -71,6 +73,7 @@ class TestCase(unittest.TestCase):
self.stubs = stubout.StubOutForTesting()
self.flag_overrides = {}
self.injected = []
+ self._services = []
self._monkey_patch_attach()
self._original_flags = FLAGS.FlagValuesDict()
@@ -82,21 +85,31 @@ class TestCase(unittest.TestCase):
self.stubs.UnsetAll()
self.stubs.SmartUnsetAll()
self.mox.VerifyAll()
- # NOTE(vish): Clean up any ips associated during the test.
- ctxt = context.get_admin_context()
+ super(TestCase, self).tearDown()
+ finally:
+ # Clean out fake_rabbit's queue if we used it
+ if FLAGS.fake_rabbit:
+ fakerabbit.reset_all()
+
+ # Reset any overriden flags
+ self.reset_flags()
+
+ # Reset our monkey-patches
rpc.Consumer.attach_to_eventlet = self.originalAttach
+
+ # Stop any timers
for x in self.injected:
try:
x.stop()
except AssertionError:
pass
- if FLAGS.fake_rabbit:
- fakerabbit.reset_all()
-
- super(TestCase, self).tearDown()
- finally:
- self.reset_flags()
+ # Kill any services
+ for x in self._services:
+ try:
+ x.kill()
+ except Exception:
+ pass
def flags(self, **kw):
"""Override flag variables for a test"""
@@ -114,6 +127,15 @@ class TestCase(unittest.TestCase):
for k, v in self._original_flags.iteritems():
setattr(FLAGS, k, v)
+ def start_service(self, name, host=None, **kwargs):
+ host = host and host or uuid.uuid4().hex
+ kwargs.setdefault('host', host)
+ kwargs.setdefault('binary', 'nova-%s' % name)
+ svc = service.Service.create(**kwargs)
+ svc.start()
+ self._services.append(svc)
+ return svc
+
def _monkey_patch_attach(self):
self.originalAttach = rpc.Consumer.attach_to_eventlet