tests: disable Ming test if Ming unavailable
And remove Ming from test-requires, as requested by infra/release team. Fixes: bug#1158405 Change-Id: I83023ca865b54c5c94bf118122914c7e89e007c8 Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
@@ -21,7 +21,12 @@ This driver is based on MIM, an in-memory version of MongoDB.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from ming import mim
|
import nose
|
||||||
|
|
||||||
|
try:
|
||||||
|
from ming import mim
|
||||||
|
except ImportError:
|
||||||
|
mim = None
|
||||||
|
|
||||||
from ceilometer.openstack.common import log as logging
|
from ceilometer.openstack.common import log as logging
|
||||||
|
|
||||||
@@ -103,6 +108,22 @@ class TestConnection(impl_mongodb.Connection):
|
|||||||
# MIM will die if we have too many connections, so use a
|
# MIM will die if we have too many connections, so use a
|
||||||
# Singleton
|
# Singleton
|
||||||
if TestConnection._mim_instance is None:
|
if TestConnection._mim_instance is None:
|
||||||
LOG.debug('Creating a new MIM Connection object')
|
if mim:
|
||||||
TestConnection._mim_instance = mim.Connection()
|
LOG.debug('Creating a new MIM Connection object')
|
||||||
|
TestConnection._mim_instance = mim.Connection()
|
||||||
|
else:
|
||||||
|
raise nose.SkipTest("Ming not found")
|
||||||
return TestConnection._mim_instance
|
return TestConnection._mim_instance
|
||||||
|
|
||||||
|
|
||||||
|
def require_map_reduce(conn):
|
||||||
|
"""Raises SkipTest if the connection is using mim.
|
||||||
|
"""
|
||||||
|
# NOTE(dhellmann): mim requires spidermonkey to implement the
|
||||||
|
# map-reduce functions, so if we can't import it then just
|
||||||
|
# skip these tests unless we aren't using mim.
|
||||||
|
try:
|
||||||
|
import spidermonkey
|
||||||
|
except BaseException:
|
||||||
|
if isinstance(conn.conn, mim.Connection):
|
||||||
|
raise skip.SkipTest('requires spidermonkey')
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
"""Base classes for API tests."""
|
"""Base classes for API tests."""
|
||||||
|
|
||||||
from ming import mim
|
|
||||||
from nose.plugins import skip
|
from nose.plugins import skip
|
||||||
from oslo.config import cfg
|
from oslo.config import cfg
|
||||||
|
|
||||||
@@ -43,16 +42,3 @@ class TestBase(test_base.TestCase):
|
|||||||
self.conn = storage.get_connection(cfg.CONF)
|
self.conn = storage.get_connection(cfg.CONF)
|
||||||
self.conn.upgrade()
|
self.conn.upgrade()
|
||||||
self.conn.clear()
|
self.conn.clear()
|
||||||
|
|
||||||
|
|
||||||
def require_map_reduce(conn):
|
|
||||||
"""Raises SkipTest if the connection is using mim.
|
|
||||||
"""
|
|
||||||
# NOTE(dhellmann): mim requires spidermonkey to implement the
|
|
||||||
# map-reduce functions, so if we can't import it then just
|
|
||||||
# skip these tests unless we aren't using mim.
|
|
||||||
try:
|
|
||||||
import spidermonkey
|
|
||||||
except BaseException:
|
|
||||||
if isinstance(conn.conn, mim.Connection):
|
|
||||||
raise skip.SkipTest('requires spidermonkey')
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from ceilometer.tests import api as tests_api
|
from ceilometer.tests import api as tests_api
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestMaxProjectVolume(tests_api.TestBase):
|
class TestMaxProjectVolume(tests_api.TestBase):
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from ceilometer.tests import api as tests_api
|
from ceilometer.tests import api as tests_api
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestMaxResourceVolume(tests_api.TestBase):
|
class TestMaxResourceVolume(tests_api.TestBase):
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from ceilometer.tests import api as tests_api
|
from ceilometer.tests import api as tests_api
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestSumProjectVolume(tests_api.TestBase):
|
class TestSumProjectVolume(tests_api.TestBase):
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from ceilometer.tests import api as tests_api
|
from ceilometer.tests import api as tests_api
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestSumResourceVolume(tests_api.TestBase):
|
class TestSumResourceVolume(tests_api.TestBase):
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ from oslo.config import cfg
|
|||||||
from ceilometer.collector import meter
|
from ceilometer.collector import meter
|
||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
from .base import FunctionalTest
|
from .base import FunctionalTest
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from .base import FunctionalTest
|
from .base import FunctionalTest
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestMaxResourceVolume(FunctionalTest):
|
class TestMaxResourceVolume(FunctionalTest):
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from .base import FunctionalTest
|
from .base import FunctionalTest
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestSumProjectVolume(FunctionalTest):
|
class TestSumProjectVolume(FunctionalTest):
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ from ceilometer.collector import meter
|
|||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
|
|
||||||
from .base import FunctionalTest
|
from .base import FunctionalTest
|
||||||
from ceilometer.tests.db import require_map_reduce
|
from ceilometer.storage.impl_test import require_map_reduce
|
||||||
|
|
||||||
|
|
||||||
class TestSumResourceVolume(FunctionalTest):
|
class TestSumResourceVolume(FunctionalTest):
|
||||||
|
|||||||
@@ -54,8 +54,7 @@ from tests.storage import base
|
|||||||
|
|
||||||
from ceilometer.collector import meter
|
from ceilometer.collector import meter
|
||||||
from ceilometer import counter
|
from ceilometer import counter
|
||||||
from ceilometer.storage.impl_test import TestConnection
|
from ceilometer.storage.impl_test import TestConnection, require_map_reduce
|
||||||
from ceilometer.tests.db import require_map_reduce
|
|
||||||
|
|
||||||
|
|
||||||
class MongoDBEngine(base.DBEngineBase):
|
class MongoDBEngine(base.DBEngineBase):
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Babel>=0.9.6
|
|||||||
# NOTE(dhellmann): Ming is necessary to provide the Mongo-in-memory
|
# NOTE(dhellmann): Ming is necessary to provide the Mongo-in-memory
|
||||||
# implementation of MongoDB.
|
# implementation of MongoDB.
|
||||||
# NOTE(jd): the support for finalize in map reduce in MIM is not yet merged
|
# NOTE(jd): the support for finalize in map reduce in MIM is not yet merged
|
||||||
git+http://git.naquadah.org/git/~jd/merciless.git#egg=Ming
|
# git+http://git.naquadah.org/git/~jd/merciless.git#egg=Ming
|
||||||
http://tarballs.openstack.org/nova/nova-master.tar.gz
|
http://tarballs.openstack.org/nova/nova-master.tar.gz
|
||||||
http://tarballs.openstack.org/glance/glance-master.tar.gz
|
http://tarballs.openstack.org/glance/glance-master.tar.gz
|
||||||
setuptools-git>=0.4
|
setuptools-git>=0.4
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ mox
|
|||||||
# NOTE(dhellmann): Ming is necessary to provide the Mongo-in-memory
|
# NOTE(dhellmann): Ming is necessary to provide the Mongo-in-memory
|
||||||
# implementation of MongoDB.
|
# implementation of MongoDB.
|
||||||
# NOTE(jd): the support for finalize in map reduce in MIM is not yet merged
|
# NOTE(jd): the support for finalize in map reduce in MIM is not yet merged
|
||||||
git+http://git.naquadah.org/git/~jd/merciless.git#egg=Ming
|
# git+http://git.naquadah.org/git/~jd/merciless.git#egg=Ming
|
||||||
http://tarballs.openstack.org/glance/glance-stable-folsom.tar.gz
|
http://tarballs.openstack.org/glance/glance-stable-folsom.tar.gz
|
||||||
setuptools-git>=0.4
|
setuptools-git>=0.4
|
||||||
# 1.7.4 is the Folsom release
|
# 1.7.4 is the Folsom release
|
||||||
|
|||||||
Reference in New Issue
Block a user