diff options
| author | Isaku Yamahata <yamahata@valinux.co.jp> | 2011-07-08 18:35:01 +0900 |
|---|---|---|
| committer | Isaku Yamahata <yamahata@valinux.co.jp> | 2011-07-08 18:35:01 +0900 |
| commit | d5307a2e1575778fcbfcf3d8ad65733be7544a54 (patch) | |
| tree | f7fc0d43da472c2dc5afaccd1092d46195100e80 | |
| parent | 58d7fa8bf8610ac2fa65e974061bf8ae78ca321f (diff) | |
| download | nova-d5307a2e1575778fcbfcf3d8ad65733be7544a54.tar.gz nova-d5307a2e1575778fcbfcf3d8ad65733be7544a54.tar.xz nova-d5307a2e1575778fcbfcf3d8ad65733be7544a54.zip | |
image/fake: added teardown method
Unit tests may alter images in FakeImageService which has pre-defined images.
Since some unit tests depend on those images, so it needs to be cleaned up
after image alternation. Otherwise running many unit tests may fail.
| -rw-r--r-- | nova/image/fake.py | 11 | ||||
| -rw-r--r-- | nova/test.py | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/nova/image/fake.py b/nova/image/fake.py index c4b3d5fd6..28e912534 100644 --- a/nova/image/fake.py +++ b/nova/image/fake.py @@ -137,7 +137,11 @@ class _FakeImageService(service.BaseImageService): try: image_id = metadata['id'] except KeyError: - image_id = random.randint(0, 2 ** 31 - 1) + while True: + image_id = random.randint(0, 2 ** 31 - 1) + if not self.images.get(str(image_id)): + break + image_id = str(image_id) if self.images.get(image_id): @@ -176,3 +180,8 @@ _fakeImageService = _FakeImageService() def FakeImageService(): return _fakeImageService + + +def FakeImageService_reset(): + global _fakeImageService + _fakeImageService = _FakeImageService() diff --git a/nova/test.py b/nova/test.py index b2599d4be..9790b0aa1 100644 --- a/nova/test.py +++ b/nova/test.py @@ -31,6 +31,7 @@ import unittest import mox import nose.plugins.skip +import nova.image.fake import shutil import stubout from eventlet import greenthread @@ -119,6 +120,9 @@ class TestCase(unittest.TestCase): if hasattr(fake.FakeConnection, '_instance'): del fake.FakeConnection._instance + if FLAGS.image_service == 'nova.image.fake.FakeImageService': + nova.image.fake.FakeImageService_reset() + # Reset any overriden flags self.reset_flags() |
