]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Remove neutron.tests.sub_base
authorMaru Newby <marun@redhat.com>
Fri, 27 Mar 2015 17:39:41 +0000 (17:39 +0000)
committerMaru Newby <marun@redhat.com>
Fri, 27 Mar 2015 18:04:47 +0000 (18:04 +0000)
Change Ifca5615680217818b8c5e8fc2dee5d089fbd9532 was intended to
remove the neutron.tests.sub_base module, but a bad rebase means that
it was left in the tree.

Change-Id: I5656a10bf3f8d3e87bf481a5a4f4a764bec17843

neutron/tests/common/net_helpers.py
neutron/tests/fullstack/config_fixtures.py
neutron/tests/sub_base.py [deleted file]

index 26eb0d4131560de8fb4d782f0002adfb48670028..5b4c9f93486fa2b23d0876f00c2f5c7c5547a362 100644 (file)
@@ -19,8 +19,8 @@ import netaddr
 from neutron.agent.linux import ip_lib
 from neutron.common import constants as n_const
 from neutron.openstack.common import uuidutils
-from neutron.tests.common import base
-from neutron.tests import sub_base
+from neutron.tests import base as tests_base
+from neutron.tests.common import base as common_base
 from neutron.tests import tools
 
 NS_PREFIX = 'func-'
@@ -31,8 +31,8 @@ VETH1_PREFIX = 'test-veth1'
 
 
 def get_rand_port_name():
-    return sub_base.get_rand_name(max_length=n_const.DEVICE_NAME_MAX_LEN,
-                                  prefix=PORT_PREFIX)
+    return tests_base.get_rand_name(max_length=n_const.DEVICE_NAME_MAX_LEN,
+                                    prefix=PORT_PREFIX)
 
 
 def increment_ip_cidr(ip_cidr, offset=1):
@@ -95,7 +95,7 @@ class VethFixture(fixtures.Fixture):
             name1 = name0.replace(VETH0_PREFIX, VETH1_PREFIX)
             return ip_wrapper.add_veth(name0, name1)
 
-        self.ports = base.create_resource(VETH0_PREFIX, _create_veth)
+        self.ports = common_base.create_resource(VETH0_PREFIX, _create_veth)
         self.addCleanup(self.destroy)
 
     def destroy(self):
index a2e636b5b68bd14edbd6f2c3e0866ee7f332a677..8767867c4e9a491d43431aa304cfcc475898fe44 100644 (file)
@@ -19,12 +19,12 @@ import fixtures
 import six
 
 from neutron.common import constants
+from neutron.tests import base
 from neutron.tests.common import helpers as c_helpers
 from neutron.tests.functional.agent.linux import helpers
-from neutron.tests import sub_base
 
 
-class ConfigDict(sub_base.AttributeDict):
+class ConfigDict(base.AttributeDict):
     def update(self, other):
         self.convert_to_attr_dict(other)
         super(ConfigDict, self).update(other)
@@ -36,8 +36,8 @@ class ConfigDict(sub_base.AttributeDict):
         """
         for key, value in other.iteritems():
             if isinstance(value, dict):
-                if not isinstance(value, sub_base.AttributeDict):
-                    other[key] = sub_base.AttributeDict(value)
+                if not isinstance(value, base.AttributeDict):
+                    other[key] = base.AttributeDict(value)
                 self.convert_to_attr_dict(value)
 
 
@@ -122,7 +122,7 @@ class NeutronConfigFixture(ConfigFixture):
         })
 
     def _generate_host(self):
-        return sub_base.get_rand_name(prefix='host-')
+        return base.get_rand_name(prefix='host-')
 
     def _generate_state_path(self, temp_dir):
         # Assume that temp_dir will be removed by the caller
@@ -174,10 +174,10 @@ class ML2ConfigFixture(ConfigFixture):
 
     def _generate_bridge_mappings(self):
         return ('physnet1:%s' %
-                sub_base.get_rand_name(
+                base.get_rand_name(
                     prefix='br-eth',
                     max_length=constants.DEVICE_NAME_MAX_LEN))
 
     def _generate_integration_bridge(self):
-        return sub_base.get_rand_name(prefix='br-int',
-                                      max_length=constants.DEVICE_NAME_MAX_LEN)
+        return base.get_rand_name(prefix='br-int',
+                                  max_length=constants.DEVICE_NAME_MAX_LEN)
diff --git a/neutron/tests/sub_base.py b/neutron/tests/sub_base.py
deleted file mode 100644 (file)
index ec33fcf..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 2014 OpenStack Foundation
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""Base test case for all tests.
-
-To change behavoir only for tests that do not rely on Tempest, please
-target the neutron.tests.base module instead.
-
-There should be no non-test Neutron imports in this module to ensure
-that the functional API tests can import Tempest without triggering
-errors due to duplicate configuration definitions.
-"""
-
-import contextlib
-import logging as std_logging
-import os
-import os.path
-import random
-import traceback
-
-import eventlet.timeout
-import fixtures
-import mock
-from oslo_utils import strutils
-import testtools
-
-from neutron.tests import post_mortem_debug
-
-
-LOG_FORMAT = "%(asctime)s %(levelname)8s [%(name)s] %(message)s"
-
-
-def get_rand_name(max_length=None, prefix='test'):
-    name = prefix + str(random.randint(1, 0x7fffffff))
-    return name[:max_length] if max_length is not None else name
-
-
-def bool_from_env(key, strict=False, default=False):
-    value = os.environ.get(key)
-    return strutils.bool_from_string(value, strict=strict, default=default)
-
-
-class AttributeDict(dict):
-
-    """
-    Provide attribute access (dict.key) to dictionary values.
-    """
-
-    def __getattr__(self, name):
-        """Allow attribute access for all keys in the dict."""
-        if name in self:
-            return self[name]
-        raise AttributeError(_("Unknown attribute '%s'.") % name)
-
-
-class SubBaseTestCase(testtools.TestCase):
-
-    def setUp(self):
-        super(SubBaseTestCase, self).setUp()
-
-        # Configure this first to ensure pm debugging support for setUp()
-        debugger = os.environ.get('OS_POST_MORTEM_DEBUGGER')
-        if debugger:
-            self.addOnException(post_mortem_debug.get_exception_handler(
-                debugger))
-
-        if bool_from_env('OS_DEBUG'):
-            _level = std_logging.DEBUG
-        else:
-            _level = std_logging.INFO
-        capture_logs = bool_from_env('OS_LOG_CAPTURE')
-        if not capture_logs:
-            std_logging.basicConfig(format=LOG_FORMAT, level=_level)
-        self.log_fixture = self.useFixture(
-            fixtures.FakeLogger(
-                format=LOG_FORMAT,
-                level=_level,
-                nuke_handlers=capture_logs,
-            ))
-
-        test_timeout = int(os.environ.get('OS_TEST_TIMEOUT', 0))
-        if test_timeout == -1:
-            test_timeout = 0
-        if test_timeout > 0:
-            self.useFixture(fixtures.Timeout(test_timeout, gentle=True))
-
-        # If someone does use tempfile directly, ensure that it's cleaned up
-        self.useFixture(fixtures.NestedTempfile())
-        self.useFixture(fixtures.TempHomeDir())
-
-        self.addCleanup(mock.patch.stopall)
-
-        if bool_from_env('OS_STDOUT_CAPTURE'):
-            stdout = self.useFixture(fixtures.StringStream('stdout')).stream
-            self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout))
-        if bool_from_env('OS_STDERR_CAPTURE'):
-            stderr = self.useFixture(fixtures.StringStream('stderr')).stream
-            self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr))
-
-        self.addOnException(self.check_for_systemexit)
-
-    def check_for_systemexit(self, exc_info):
-        if isinstance(exc_info[1], SystemExit):
-            self.fail("A SystemExit was raised during the test. %s"
-                      % traceback.format_exception(*exc_info))
-
-    @contextlib.contextmanager
-    def assert_max_execution_time(self, max_execution_time=5):
-        with eventlet.timeout.Timeout(max_execution_time, False):
-            yield
-            return
-        self.fail('Execution of this test timed out')
-
-    def assertOrderedEqual(self, expected, actual):
-        expect_val = self.sort_dict_lists(expected)
-        actual_val = self.sort_dict_lists(actual)
-        self.assertEqual(expect_val, actual_val)
-
-    def sort_dict_lists(self, dic):
-        for key, value in dic.iteritems():
-            if isinstance(value, list):
-                dic[key] = sorted(value)
-            elif isinstance(value, dict):
-                dic[key] = self.sort_dict_lists(value)
-        return dic
-
-    def assertDictSupersetOf(self, expected_subset, actual_superset):
-        """Checks that actual dict contains the expected dict.
-
-        After checking that the arguments are of the right type, this checks
-        that each item in expected_subset is in, and matches, what is in
-        actual_superset. Separate tests are done, so that detailed info can
-        be reported upon failure.
-        """
-        if not isinstance(expected_subset, dict):
-            self.fail("expected_subset (%s) is not an instance of dict" %
-                      type(expected_subset))
-        if not isinstance(actual_superset, dict):
-            self.fail("actual_superset (%s) is not an instance of dict" %
-                      type(actual_superset))
-        for k, v in expected_subset.items():
-            self.assertIn(k, actual_superset)
-            self.assertEqual(v, actual_superset[k],
-                             "Key %(key)s expected: %(exp)r, actual %(act)r" %
-                             {'key': k, 'exp': v, 'act': actual_superset[k]})