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 /nova | |
| 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.
Diffstat (limited to 'nova')
| -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() |
