Fix Python 3 testing
Raising SkipTest at import time fails in recent version of the test suite. We change that by being more picky at one should or should not be tested based on what we managed to import; the upside is that we test a few more things under Python 3 now. Change-Id: I8971c7291cb261faf00fec73cf53b6132bdaf948
This commit is contained in:
parent
1ee33509e7
commit
48a9ba4e27
@ -16,15 +16,15 @@ import operator
|
|||||||
import random
|
import random
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import unittest
|
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
try:
|
try:
|
||||||
import qpid
|
import qpid
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise unittest.SkipTest("qpid not available")
|
qpid = None
|
||||||
from six.moves import _thread
|
from six.moves import _thread
|
||||||
import testscenarios
|
import testscenarios
|
||||||
|
import testtools
|
||||||
|
|
||||||
from oslo import messaging
|
from oslo import messaging
|
||||||
from oslo.messaging._drivers import impl_qpid as qpid_driver
|
from oslo.messaging._drivers import impl_qpid as qpid_driver
|
||||||
@ -67,6 +67,7 @@ def _is_qpidd_service_running():
|
|||||||
|
|
||||||
class _QpidBaseTestCase(test_utils.BaseTestCase):
|
class _QpidBaseTestCase(test_utils.BaseTestCase):
|
||||||
|
|
||||||
|
@testtools.skipIf(qpid is None, "qpid not available")
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(_QpidBaseTestCase, self).setUp()
|
super(_QpidBaseTestCase, self).setUp()
|
||||||
self.messaging_conf.transport_driver = 'qpid'
|
self.messaging_conf.transport_driver = 'qpid'
|
||||||
@ -548,6 +549,7 @@ class TestQpidReconnectOrder(test_utils.BaseTestCase):
|
|||||||
"""Unit Test cases to test reconnection
|
"""Unit Test cases to test reconnection
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@testtools.skipIf(qpid is None, "qpid not available")
|
||||||
def test_reconnect_order(self):
|
def test_reconnect_order(self):
|
||||||
brokers = ['host1', 'host2', 'host3', 'host4', 'host5']
|
brokers = ['host1', 'host2', 'host3', 'host4', 'host5']
|
||||||
brokers_count = len(brokers)
|
brokers_count = len(brokers)
|
||||||
@ -768,6 +770,7 @@ def get_fake_qpid_session():
|
|||||||
|
|
||||||
class QPidHATestCase(test_utils.BaseTestCase):
|
class QPidHATestCase(test_utils.BaseTestCase):
|
||||||
|
|
||||||
|
@testtools.skipIf(qpid is None, "qpid not available")
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(QPidHATestCase, self).setUp()
|
super(QPidHATestCase, self).setUp()
|
||||||
self.brokers = ['host1', 'host2', 'host3', 'host4', 'host5']
|
self.brokers = ['host1', 'host2', 'host3', 'host4', 'host5']
|
||||||
|
@ -16,17 +16,20 @@
|
|||||||
|
|
||||||
import contextlib
|
import contextlib
|
||||||
import threading
|
import threading
|
||||||
import unittest
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import eventlet
|
import eventlet
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise unittest.SkipTest("Eventlet not available")
|
eventlet = None
|
||||||
import mock
|
import mock
|
||||||
import testscenarios
|
import testscenarios
|
||||||
|
import testtools
|
||||||
|
|
||||||
from oslo.messaging._executors import impl_blocking
|
from oslo.messaging._executors import impl_blocking
|
||||||
from oslo.messaging._executors import impl_eventlet
|
try:
|
||||||
|
from oslo.messaging._executors import impl_eventlet
|
||||||
|
except ImportError:
|
||||||
|
impl_eventlet = None
|
||||||
from tests import utils as test_utils
|
from tests import utils as test_utils
|
||||||
|
|
||||||
load_tests = testscenarios.load_tests_apply_scenarios
|
load_tests = testscenarios.load_tests_apply_scenarios
|
||||||
@ -34,14 +37,15 @@ load_tests = testscenarios.load_tests_apply_scenarios
|
|||||||
|
|
||||||
class TestExecutor(test_utils.BaseTestCase):
|
class TestExecutor(test_utils.BaseTestCase):
|
||||||
|
|
||||||
_impl = [('blocking', dict(executor=impl_blocking.BlockingExecutor,
|
|
||||||
stop_before_return=True)),
|
|
||||||
('eventlet', dict(executor=impl_eventlet.EventletExecutor,
|
|
||||||
stop_before_return=False))]
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def generate_scenarios(cls):
|
def generate_scenarios(cls):
|
||||||
cls.scenarios = testscenarios.multiply_scenarios(cls._impl)
|
impl = [('blocking', dict(executor=impl_blocking.BlockingExecutor,
|
||||||
|
stop_before_return=True))]
|
||||||
|
if impl_eventlet is not None:
|
||||||
|
impl.append(
|
||||||
|
('eventlet', dict(executor=impl_eventlet.EventletExecutor,
|
||||||
|
stop_before_return=False)))
|
||||||
|
cls.scenarios = testscenarios.multiply_scenarios(impl)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _run_in_thread(executor):
|
def _run_in_thread(executor):
|
||||||
@ -90,6 +94,7 @@ class ExceptedException(Exception):
|
|||||||
|
|
||||||
|
|
||||||
class EventletContextManagerSpawnTest(test_utils.BaseTestCase):
|
class EventletContextManagerSpawnTest(test_utils.BaseTestCase):
|
||||||
|
@testtools.skipIf(impl_eventlet is None, "Eventlet not available")
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(EventletContextManagerSpawnTest, self).setUp()
|
super(EventletContextManagerSpawnTest, self).setUp()
|
||||||
self.before = mock.Mock()
|
self.before = mock.Mock()
|
||||||
|
@ -12,21 +12,22 @@
|
|||||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
import unittest
|
|
||||||
|
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
|
import testtools
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from oslo.messaging import opts
|
from oslo.messaging import opts
|
||||||
except ImportError:
|
except ImportError:
|
||||||
import six
|
opts = None
|
||||||
if six.PY3:
|
|
||||||
raise unittest.SkipTest
|
|
||||||
from tests import utils as test_utils
|
from tests import utils as test_utils
|
||||||
|
|
||||||
|
|
||||||
class OptsTestCase(test_utils.BaseTestCase):
|
class OptsTestCase(test_utils.BaseTestCase):
|
||||||
|
|
||||||
|
@testtools.skipIf(opts is None, "Options not importable")
|
||||||
|
def setUp(self):
|
||||||
|
super(OptsTestCase, self).setUp()
|
||||||
|
|
||||||
def _test_list_opts(self, result):
|
def _test_list_opts(self, result):
|
||||||
self.assertEqual(3, len(result))
|
self.assertEqual(3, len(result))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user