]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Remove last vestiges of nose
authorMonty Taylor <mordred@inaugust.com>
Fri, 9 Aug 2013 16:05:12 +0000 (13:05 -0300)
committerMonty Taylor <mordred@inaugust.com>
Sun, 11 Aug 2013 14:15:28 +0000 (11:15 -0300)
We don't use nose anymore, but it was still referenced in a few places.

Delete them.

Closes-Bug: 1210998
Change-Id: I5e00edd071b8e99e54cdbbf2de277aa95eb57567

neutron/common/test_lib.py
neutron/plugins/metaplugin/run_tests.py [deleted file]
neutron/tests/unit/__init__.py
run_tests.py [deleted file]
test-requirements.txt

index 9d77e689a400eab3fdd4b753277b751e78889701..4068cbc3a73516e4c48ef5de43054b653acc2c16 100644 (file)
 #    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 #    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-import sys
-import unittest
-
-from nose import core
-from nose import result
-
 from neutron.common import constants
 
 
-class _AnsiColorizer(object):
-    """ANSI colored texts.
-
-    A colorizer is an object that loosely wraps around a stream, allowing
-    callers to write text to the stream in a particular color.
-
-    Colorizer classes must implement C{supported()} and C{write(text, color)}.
-    """
-    _colors = dict(black=30, red=31, green=32, yellow=33,
-                   blue=34, magenta=35, cyan=36, white=37)
-
-    def __init__(self, stream):
-        self.stream = stream
-
-    def supported(cls, stream=sys.stdout):
-        """Checks for coloring terminal support.
-
-        A class method that returns True if the current platform supports
-        coloring terminal output using this method. Returns False otherwise.
-        """
-        if not stream.isatty():
-            return False  # auto color only on TTYs
-        try:
-            import curses
-        except ImportError:
-            return False
-        else:
-            try:
-                try:
-                    return curses.tigetnum("colors") > 2
-                except curses.error:
-                    curses.setupterm()
-                    return curses.tigetnum("colors") > 2
-            except Exception:
-                raise
-                # guess false in case of error
-                return False
-    supported = classmethod(supported)
-
-    def write(self, text, color):
-        """Write the given text to the stream in the given color.
-
-        @param text: Text to be written to the stream.
-
-        @param color: A string label for a color. e.g. 'red', 'white'.
-        """
-        color = self._colors[color]
-        self.stream.write('\x1b[%s;1m%s\x1b[0m' % (color, text))
-
-
-class _Win32Colorizer(object):
-    """See _AnsiColorizer docstring."""
-    def __init__(self, stream):
-        from win32console import GetStdHandle, STD_OUT_HANDLE
-        from win32console import FOREGROUND_RED, FOREGROUND_BLUE
-        from win32console import FOREGROUND_GREEN, FOREGROUND_INTENSITY
-        red, green, blue, bold = (FOREGROUND_RED, FOREGROUND_GREEN,
-                                  FOREGROUND_BLUE, FOREGROUND_INTENSITY)
-        self.stream = stream
-        self.screenBuffer = GetStdHandle(STD_OUT_HANDLE)
-        self._colors = {
-            'normal': red | green | blue,
-            'red': red | bold,
-            'green': green | bold,
-            'blue': blue | bold,
-            'yellow': red | green | bold,
-            'magenta': red | blue | bold,
-            'cyan': green | blue | bold,
-            'white': red | green | blue | bold}
-
-    def supported(cls, stream=sys.stdout):
-        try:
-            import win32console
-            screenBuffer = win32console.GetStdHandle(
-                win32console.STD_OUT_HANDLE)
-        except ImportError:
-            return False
-        import pywintypes
-        try:
-            screenBuffer.SetConsoleTextAttribute(
-                win32console.FOREGROUND_RED |
-                win32console.FOREGROUND_GREEN |
-                win32console.FOREGROUND_BLUE)
-        except pywintypes.error:
-            return False
-        else:
-            return True
-    supported = classmethod(supported)
-
-    def write(self, text, color):
-        color = self._colors[color]
-        self.screenBuffer.SetConsoleTextAttribute(color)
-        self.stream.write(text)
-        self.screenBuffer.SetConsoleTextAttribute(self._colors['normal'])
-
-
-class _NullColorizer(object):
-    """See _AnsiColorizer docstring."""
-    def __init__(self, stream):
-        self.stream = stream
-
-    def supported(cls, stream=sys.stdout):
-        return True
-    supported = classmethod(supported)
-
-    def write(self, text, color):
-        self.stream.write(text)
-
-
-class NeutronTestResult(result.TextTestResult):
-    def __init__(self, *args, **kw):
-        result.TextTestResult.__init__(self, *args, **kw)
-        self._last_case = None
-        self.colorizer = None
-        # NOTE(vish, tfukushima): reset stdout for the terminal check
-        stdout = sys.__stdout__
-        sys.stdout = sys.__stdout__
-        for colorizer in [_Win32Colorizer, _AnsiColorizer, _NullColorizer]:
-            if colorizer.supported():
-                self.colorizer = colorizer(self.stream)
-                break
-        sys.stdout = stdout
-
-    def getDescription(self, test):
-        return str(test)
-
-    # NOTE(vish, tfukushima): copied from unittest with edit to add color
-    def addSuccess(self, test):
-        unittest.TestResult.addSuccess(self, test)
-        if self.showAll:
-            self.colorizer.write("OK", 'green')
-            self.stream.writeln()
-        elif self.dots:
-            self.stream.write('.')
-            self.stream.flush()
-
-    # NOTE(vish, tfukushima): copied from unittest with edit to add color
-    def addFailure(self, test, err):
-        unittest.TestResult.addFailure(self, test, err)
-        if self.showAll:
-            self.colorizer.write("FAIL", 'red')
-            self.stream.writeln()
-        elif self.dots:
-            self.stream.write('F')
-            self.stream.flush()
-
-    # NOTE(vish, tfukushima): copied from unittest with edit to add color
-    def addError(self, test, err):
-        """Overrides normal addError to add support for errorClasses.
-
-        If the exception is a registered class, the error will be added
-        to the list for that class, not errors.
-        """
-        stream = getattr(self, 'stream', None)
-        ec, ev, tb = err
-        try:
-            exc_info = self._exc_info_to_string(err, test)
-        except TypeError:
-            # This is for compatibility with Python 2.3.
-            exc_info = self._exc_info_to_string(err)
-        for cls, (storage, label, isfail) in self.errorClasses.items():
-            if result.isclass(ec) and issubclass(ec, cls):
-                if isfail:
-                    test.passwd = False
-                storage.append((test, exc_info))
-                # Might get patched into a streamless result
-                if stream is not None:
-                    if self.showAll:
-                        message = [label]
-                        detail = result._exception_details(err[1])
-                        if detail:
-                            message.append(detail)
-                        stream.writeln(": ".join(message))
-                    elif self.dots:
-                        stream.write(label[:1])
-                return
-        self.errors.append((test, exc_info))
-        test.passed = False
-        if stream is not None:
-            if self.showAll:
-                self.colorizer.write("ERROR", 'red')
-                self.stream.writeln()
-            elif self.dots:
-                stream.write('E')
-
-    def startTest(self, test):
-        unittest.TestResult.startTest(self, test)
-        current_case = test.test.__class__.__name__
-
-        if self.showAll:
-            if current_case != self._last_case:
-                self.stream.writeln(current_case)
-                self._last_case = current_case
-            #NOTE(salvatore-orlando):
-            #slightly changed in order to print test case class
-            #together with unit test name
-            self.stream.write(
-                '    %s' % str(test.test).ljust(60))
-            self.stream.flush()
-
-
-class NeutronTestRunner(core.TextTestRunner):
-    def _makeResult(self):
-        return NeutronTestResult(self.stream,
-                                 self.descriptions,
-                                 self.verbosity,
-                                 self.config)
-
-
-def run_tests(c=None):
-    # NOTE(bgh): I'm not entirely sure why but nose gets confused here when
-    # calling run_tests from a plugin directory run_tests.py (instead of the
-    # main run_tests.py).  It will call run_tests with no arguments and the
-    # testing of run_tests will fail (though the plugin tests will pass).  For
-    # now we just return True to let the run_tests test pass.
-    if not c:
-        return True
-
-    runner = NeutronTestRunner(stream=c.stream,
-                               verbosity=c.verbosity,
-                               config=c)
-    return not core.run(config=c, testRunner=runner)
-
 # describes parameters used by different unit/functional tests
 # a plugin-specific testing mechanism should import this dictionary
 # and override the values in it if needed (e.g., run_tests.py in
diff --git a/neutron/plugins/metaplugin/run_tests.py b/neutron/plugins/metaplugin/run_tests.py
deleted file mode 100755 (executable)
index ac64756..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2010 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.
-
-
-"""Unittest runner for neutron Meta plugin
-
-This file should be run from the top dir in the neutron directory
-
-To run all tests::
-    PLUGIN_DIR=neutron/plugins/metaplugin ./run_tests.sh
-"""
-
-import os
-import sys
-
-from nose import config
-
-sys.path.append(os.getcwd())
-sys.path.append(os.path.dirname(__file__))
-
-from neutron.common.test_lib import run_tests, test_config
-
-if __name__ == '__main__':
-    exit_status = False
-
-    # if a single test case was specified,
-    # we should only invoked the tests once
-    invoke_once = len(sys.argv) > 1
-
-    test_config['plugin_name'] = "meta_neutron_plugin.MetaPluginV2"
-
-    cwd = os.getcwd()
-
-    working_dir = os.path.abspath("neutron/plugins/metaplugin")
-    c = config.Config(stream=sys.stdout,
-                      env=os.environ,
-                      verbosity=3,
-                      workingDir=working_dir)
-    exit_status = exit_status or run_tests(c)
-
-    sys.exit(exit_status)
index a05454030bd0b5b086c0b9974c99354135ef4797..a0e30b7480ea7bdb0fa4c9a2cccbb2e5f18e2572 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-# See http://code.google.com/p/python-nose/issues/detail?id=373
-# The code below enables nosetests to work with i18n _() blocks
-
-import __builtin__
 import os
 
-setattr(__builtin__, '_', lambda x: x)
-
 from oslo.config import cfg
 
 
diff --git a/run_tests.py b/run_tests.py
deleted file mode 100755 (executable)
index a673f47..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2010 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.
-
-
-"""Unittest runner for neutron
-
-To run all test::
-    python run_tests.py
-
-To run all unit tests::
-    python run_tests.py unit
-
-To run all functional tests::
-    python run_tests.py functional
-
-To run a single unit test::
-    python run_tests.py unit.test_stores:TestSwiftBackend.test_get
-
-To run a single functional test::
-    python run_tests.py functional.test_service:TestController.test_create
-
-To run a single unit test module::
-    python run_tests.py unit.test_stores
-
-To run a single functional test module::
-    python run_tests.py functional.test_stores
-"""
-
-import os
-import sys
-
-from nose import config
-from nose import core
-
-from neutron.common.test_lib import run_tests
-import neutron.tests.unit
-
-
-def main():
-    c = config.Config(stream=sys.stdout,
-                      env=os.environ,
-                      verbosity=3,
-                      includeExe=True,
-                      traverseNamespace=True,
-                      plugins=core.DefaultPluginManager())
-    c.configureWhere(neutron.tests.unit.__path__)
-    sys.exit(run_tests(c))
-
-if __name__ == "__main__":
-    main()
index 3c5b81173943efd77339323e54027778e2b7652e..617cf484d7215acc87377f66c97d865f889b1ce7 100644 (file)
@@ -7,10 +7,6 @@ discover
 fixtures>=0.3.12
 mock>=1.0
 mox>=0.5.3
-nose
-nosehtmloutput>=0.0.3
-nosexcover
-openstack.nose_plugin>=0.7
 python-subunit
 sphinx>=1.1.2
 testrepository>=0.0.17