From 1ff7748623c2d02122bec36542f8bc310d296836 Mon Sep 17 00:00:00 2001 From: Jon Schlueter Date: Mon, 24 Jan 2022 17:38:48 -0500 Subject: [PATCH] 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 --- requirements.txt | 1 - tempest/lib/base.py | 31 -------------------------- tempest/test.py | 16 ------------- tempest/test_discover/test_discover.py | 7 +----- tempest/tests/lib/test_base.py | 2 +- tempest/tests/test_test.py | 8 +------ 6 files changed, 3 insertions(+), 62 deletions(-) diff --git a/requirements.txt b/requirements.txt index bc8358badf..c4c7fcc78e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,4 +21,3 @@ stevedore>=1.20.0 # Apache-2.0 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 74ae77cca7..3be55c048c 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 @@ class BaseTestCase(testtools.testcase.WithAttributes, testtools.TestCase): 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 @@ class BaseTestCase(testtools.testcase.WithAttributes, testtools.TestCase): 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 bf0aba49c3..dba2695138 100644 --- a/tempest/test.py +++ b/tempest/test.py @@ -26,7 +26,6 @@ from tempest import clients 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 @@ class BaseTestCase(testtools.testcase.WithAttributes, # 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 @@ class BaseTestCase(testtools.testcase.WithAttributes, 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 5816ab1d2d..a19f20b696 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 2c16e1cdec..de6021c786 100644 --- a/tempest/tests/lib/test_base.py +++ b/tempest/tests/lib/test_base.py @@ -48,7 +48,7 @@ class TestSetUpClass(base.BaseTestCase): @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 a95914a904..cbb81e297d 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 import fake_credentials 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):