Remove usage of unittest2
from comments when it was last touched it looks like workarounds for
unittest2 might be able to be dropped.
related: https://github.com/mtreinish/stestr/pull/265
simplify the workaround logic around unittest2 TestCase logic
Change-Id: Ibac9d0c2fa2f30605dd44ee58b84946464ea6449
diff --git a/requirements.txt b/requirements.txt
index bc8358b..c4c7fcc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,4 +21,3 @@
PrettyTable>=0.7.1 # BSD
urllib3>=1.21.1 # MIT
debtcollector>=1.2.0 # Apache-2.0
-unittest2>=1.1.0 # BSD
diff --git a/tempest/lib/base.py b/tempest/lib/base.py
index 74ae77c..3be55c0 100644
--- a/tempest/lib/base.py
+++ b/tempest/lib/base.py
@@ -14,29 +14,11 @@
# under the License.
import os
-import sys
import fixtures
-import pkg_resources
import testtools
-def _handle_skip_exception():
- try:
- stestr_version = pkg_resources.parse_version(
- pkg_resources.get_distribution("stestr").version)
- stestr_min = pkg_resources.parse_version('2.5.0')
- new_stestr = (stestr_version >= stestr_min)
- import unittest
- import unittest2
- if sys.version_info >= (3, 5) and new_stestr:
- testtools.TestCase.skipException = unittest.case.SkipTest
- else:
- testtools.TestCase.skipException = unittest2.case.SkipTest
- except Exception:
- pass
-
-
class BaseTestCase(testtools.testcase.WithAttributes, testtools.TestCase):
setUpClassCalled = False
@@ -51,18 +33,6 @@
if hasattr(super(BaseTestCase, cls), 'setUpClass'):
super(BaseTestCase, cls).setUpClass()
cls.setUpClassCalled = True
- # TODO(gmann): cls.handle_skip_exception is really workaround for
- # testtools bug- https://github.com/testing-cabal/testtools/issues/272
- # stestr which is used by Tempest internally to run the test switch
- # the customize test runner(which use stdlib unittest) for >=py3.5
- # else testtools.run.- https://github.com/mtreinish/stestr/pull/265
- # These two test runner are not compatible due to skip exception
- # handling(due to unittest2). testtools.run treat unittestt.SkipTest
- # as error and stdlib unittest treat unittest2.case.SkipTest raised
- # by testtools.TestCase.skipException.
- # The below workaround can be removed once testtools fix issue# 272.
- cls.orig_skip_exception = testtools.TestCase.skipException
- _handle_skip_exception()
@classmethod
def tearDownClass(cls):
@@ -70,7 +40,6 @@
super(BaseTestCase, cls).tearDownClass()
def setUp(self):
- testtools.TestCase.skipException = self.orig_skip_exception
super(BaseTestCase, self).setUp()
if not self.setUpClassCalled:
raise RuntimeError("setUpClass does not calls the super's "
diff --git a/tempest/test.py b/tempest/test.py
index bf0aba4..dba2695 100644
--- a/tempest/test.py
+++ b/tempest/test.py
@@ -26,7 +26,6 @@
from tempest.common import credentials_factory as credentials
from tempest.common import utils
from tempest import config
-from tempest.lib import base as lib_base
from tempest.lib.common import api_microversion_fixture
from tempest.lib.common import fixed_network
from tempest.lib.common import profiler
@@ -142,19 +141,6 @@
# It should never be overridden by descendants
if hasattr(super(BaseTestCase, cls), 'setUpClass'):
super(BaseTestCase, cls).setUpClass()
- # All the configuration checks that may generate a skip
- # TODO(gmann): cls.handle_skip_exception is really workaround for
- # testtools bug- https://github.com/testing-cabal/testtools/issues/272
- # stestr which is used by Tempest internally to run the test switch
- # the customize test runner(which use stdlib unittest) for >=py3.5
- # else testtools.run.- https://github.com/mtreinish/stestr/pull/265
- # These two test runner are not compatible due to skip exception
- # handling(due to unittest2). testtools.run treat unittestt.SkipTest
- # as error and stdlib unittest treat unittest2.case.SkipTest raised
- # by testtools.TestCase.skipException.
- # The below workaround can be removed once testtools fix issue# 272.
- orig_skip_exception = testtools.TestCase.skipException
- lib_base._handle_skip_exception()
try:
cls.skip_checks()
@@ -182,8 +168,6 @@
raise value.with_traceback(trace)
finally:
del trace # to avoid circular refs
- finally:
- testtools.TestCase.skipException = orig_skip_exception
@classmethod
def tearDownClass(cls):
diff --git a/tempest/test_discover/test_discover.py b/tempest/test_discover/test_discover.py
index 5816ab1..a19f20b 100644
--- a/tempest/test_discover/test_discover.py
+++ b/tempest/test_discover/test_discover.py
@@ -13,15 +13,10 @@
# under the License.
import os
-import sys
+import unittest
from tempest.test_discover import plugins
-if sys.version_info >= (2, 7):
- import unittest
-else:
- import unittest2 as unittest
-
def load_tests(loader, tests, pattern):
ext_plugins = plugins.TempestTestPluginManager()
diff --git a/tempest/tests/lib/test_base.py b/tempest/tests/lib/test_base.py
index 2c16e1c..de6021c 100644
--- a/tempest/tests/lib/test_base.py
+++ b/tempest/tests/lib/test_base.py
@@ -48,7 +48,7 @@
@classmethod
def setUpClass(cls): # noqa
"""Simulate absence of super() call."""
- cls.orig_skip_exception = cls.skipException
+ pass
def setUp(self):
try:
diff --git a/tempest/tests/test_test.py b/tempest/tests/test_test.py
index a95914a..cbb81e2 100644
--- a/tempest/tests/test_test.py
+++ b/tempest/tests/test_test.py
@@ -14,7 +14,7 @@
# under the License.
import os
-import sys
+import unittest
from unittest import mock
from oslo_config import cfg
@@ -34,12 +34,6 @@
from tempest.tests.lib.services import registry_fixture
-if sys.version_info >= (2, 7):
- import unittest
-else:
- import unittest2 as unittest
-
-
class LoggingTestResult(testtools.TestResult):
def __init__(self, log, *args, **kwargs):