Hello community,

here is the log from the commit of package python-cliff for openSUSE:Factory 
checked in at 2014-09-15 17:41:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cliff (Old)
 and      /work/SRC/openSUSE:Factory/.python-cliff.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-cliff"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cliff/python-cliff.changes        
2014-06-30 21:50:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-cliff.new/python-cliff.changes   
2014-09-15 18:25:03.000000000 +0200
@@ -1,0 +2,20 @@
+Sat Sep 13 16:47:41 UTC 2014 - [email protected]
+
+- update to 1.7.0:
+  * Add release notes for 1.7.0
+  * Fix stable integration tests
+  * Updated from global requirements
+  * Clean up default tox environment list
+  * Do not allow wheels for stable tests
+  * Set the main logger name to match the application
+  * CSV formatter should use system-dependent line ending
+  * Make show option compatible with Python 2.6
+  * Use six.add_metaclass instead of __metaclass__
+  * fixed typos found by RETF rules
+  * The --variable option to shell format is redundant
+  * Expose load_commands publicly
+  * Fix wrong method name assert_called_once
+  * Updated from global requirements
+  * Fix pep8 failures on rule E265
+
+-------------------------------------------------------------------

Old:
----
  cliff-1.6.1.tar.gz

New:
----
  cliff-1.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-cliff.spec ++++++
--- /var/tmp/diff_new_pack.hvkShz/_old  2014-09-15 18:25:05.000000000 +0200
+++ /var/tmp/diff_new_pack.hvkShz/_new  2014-09-15 18:25:05.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-cliff
-Version:        1.6.1
+Version:        1.7.0
 Release:        0
 Url:            https://github.com/dreamhost/cliff
 Summary:        Command Line Interface Formulation Framework
@@ -32,21 +32,21 @@
 BuildRequires:  python-PrettyTable
 BuildRequires:  python-Sphinx
 BuildRequires:  python-cmd2
-BuildRequires:  python-coverage
-BuildRequires:  python-mock >= 1.0.1
+BuildRequires:  python-coverage >= 3.6
+BuildRequires:  python-mock >= 1.0
 BuildRequires:  python-nose
 BuildRequires:  python-pbr
 BuildRequires:  python-pyparsing >= 2.0.1
 BuildRequires:  python-six
 BuildRequires:  python-stevedore
-Requires:       python-PrettyTable >= 0.6
+Requires:       python-PrettyTable >= 0.7
 %if 0%{?suse_version} <= 1110
 Requires:       python-argparse
 %endif
 Requires:       python-cmd2 >= 0.6.7
 Requires:       python-pyparsing >= 2.0.1
-Requires:       python-six
-Requires:       python-stevedore
+Requires:       python-six >= 1.7.0
+Requires:       python-stevedore >= 0.14
 %if 0%{?suse_version} && 0%{?suse_version} <= 1110
 %{!?python_sitelib: %global python_sitelib %(python -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib()")}
 %py_requires
@@ -65,6 +65,10 @@
 Requires:       %{name} = %{version}
 
 %description doc
+cliff is a framework for building command line programs. It uses
+setuptools entry points to provide subcommands, output formatters, and
+other extensions.
+
 This package contains documentation files for %{name}.
 
 %prep

++++++ cliff-1.6.1.tar.gz -> cliff-1.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/AUTHORS new/cliff-1.7.0/AUTHORS
--- old/cliff-1.6.1/AUTHORS     2014-04-08 15:09:53.000000000 +0200
+++ new/cliff-1.7.0/AUTHORS     2014-09-08 16:54:18.000000000 +0200
@@ -1 +1,28 @@
-
+Andrea Frittoli <[email protected]>
+ChangBo Guo(gcb) <[email protected]>
+Christian Berendt <[email protected]>
+Christophe CHAUVET <[email protected]>
+Clint Byrum <[email protected]>
+Dean Troyer <[email protected]>
+Dirk Mueller <[email protected]>
+Dirk Mueller <dirk@dmllr>
+Doug Hellmann <[email protected]>
+Doug Hellmann <[email protected]>
+Doug Hellmann <[email protected]>
+Duncan McGreggor <[email protected]>
+Feodor Tersin <[email protected]>
+Ilya Shakhat <[email protected]>
+Jamie Lennox <[email protected]>
+Joe Server <[email protected]>
+Jonathan LaCour <[email protected]>
+Mark McClain <[email protected]>
+Matt Joyce <[email protected]>
+Monty Taylor <[email protected]>
+Qiu Yu <[email protected]>
+Ryan Petrello <[email protected]>
+Sascha Peilicke <[email protected]>
+Terry Howe <[email protected]>
+Tomaz Muraus <[email protected]>
+heavenshell <[email protected]>
+markmcclain <[email protected]>
+qneill <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/ChangeLog new/cliff-1.7.0/ChangeLog
--- old/cliff-1.6.1/ChangeLog   2014-04-08 15:09:53.000000000 +0200
+++ new/cliff-1.7.0/ChangeLog   2014-09-08 16:54:18.000000000 +0200
@@ -1,6 +1,25 @@
 CHANGES
 =======
 
+1.7.0
+-----
+
+* Add release notes for 1.7.0
+* Fix stable integration tests
+* Updated from global requirements
+* Clean up default tox environment list
+* Do not allow wheels for stable tests
+* Set the main logger name to match the application
+* CSV formatter should use system-dependent line ending
+* Make show option compatible with Python 2.6
+* Use six.add_metaclass instead of __metaclass__
+* fixed typos found by RETF rules
+* The --variable option to shell format is redundant
+* Expose load_commands publicly
+* Fix wrong method name assert_called_once
+* Updated from global requirements
+* Fix pep8 failures on rule E265
+
 1.6.1
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/PKG-INFO new/cliff-1.7.0/PKG-INFO
--- old/cliff-1.6.1/PKG-INFO    2014-04-08 15:09:53.000000000 +0200
+++ new/cliff-1.7.0/PKG-INFO    2014-09-08 16:54:19.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: cliff
-Version: 1.6.1
+Version: 1.7.0
 Summary: Command Line Interface Formulation Framework
 Home-page: https://launchpad.net/python-cliff
 Author: Doug Hellmann
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/app.py new/cliff-1.7.0/cliff/app.py
--- old/cliff-1.6.1/cliff/app.py        2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/app.py        2014-09-08 16:53:54.000000000 +0200
@@ -33,9 +33,6 @@
 logging.getLogger('cliff').addHandler(NullHandler())
 
 
-LOG = logging.getLogger(__name__)
-
-
 class App(object):
     """Application base class.
 
@@ -57,6 +54,7 @@
     """
 
     NAME = os.path.splitext(os.path.basename(sys.argv[0]))[0]
+    LOG = logging.getLogger(NAME)
 
     CONSOLE_MESSAGE_FORMAT = '%(message)s'
     LOG_FILE_MESSAGE_FORMAT = \
@@ -205,10 +203,10 @@
             else:
                 debug = True
             if debug:
-                LOG.exception(err)
+                self.LOG.exception(err)
                 raise
             else:
-                LOG.error(err)
+                self.LOG.error(err)
             return 1
         result = 1
         if self.interactive_mode:
@@ -265,7 +263,7 @@
             if self.options.debug:
                 raise
             else:
-                LOG.error(err)
+                self.LOG.error(err)
             return 2
         cmd_factory, cmd_name, sub_argv = subcommand
         cmd = cmd_factory(self, self.options)
@@ -282,16 +280,16 @@
             result = cmd.run(parsed_args)
         except Exception as err:
             if self.options.debug:
-                LOG.exception(err)
+                self.LOG.exception(err)
             else:
-                LOG.error(err)
+                self.LOG.error(err)
             try:
                 self.clean_up(cmd, result, err)
             except Exception as err2:
                 if self.options.debug:
-                    LOG.exception(err2)
+                    self.LOG.exception(err2)
                 else:
-                    LOG.error('Could not clean up: %s', err2)
+                    self.LOG.error('Could not clean up: %s', err2)
             if self.options.debug:
                 raise
         else:
@@ -299,7 +297,7 @@
                 self.clean_up(cmd, result, None)
             except Exception as err3:
                 if self.options.debug:
-                    LOG.exception(err3)
+                    self.LOG.exception(err3)
                 else:
-                    LOG.error('Could not clean up: %s', err3)
+                    self.LOG.error('Could not clean up: %s', err3)
         return result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/command.py 
new/cliff-1.7.0/cliff/command.py
--- old/cliff-1.6.1/cliff/command.py    2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/command.py    2014-09-08 16:53:54.000000000 +0200
@@ -3,15 +3,16 @@
 import argparse
 import inspect
 
+import six
 
+
[email protected]_metaclass(abc.ABCMeta)
 class Command(object):
     """Base class for command plugins.
 
     :param app: Application instance invoking the command.
     :paramtype app: cliff.app.App
     """
-    __metaclass__ = abc.ABCMeta
-
     def __init__(self, app, app_args):
         self.app = app
         self.app_args = app_args
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/commandmanager.py 
new/cliff-1.7.0/cliff/commandmanager.py
--- old/cliff-1.6.1/cliff/commandmanager.py     2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/commandmanager.py     2014-09-08 16:53:54.000000000 
+0200
@@ -28,7 +28,7 @@
                       for the plugins to be loaded. For example,
                       ``'cliff.formatter.list'``.
     :param convert_underscores: Whether cliff should convert underscores to
-                                to spaces in entry_point commands.
+                                spaces in entry_point commands.
     """
     def __init__(self, namespace, convert_underscores=True):
         self.commands = {}
@@ -37,7 +37,12 @@
         self._load_commands()
 
     def _load_commands(self):
-        for ep in pkg_resources.iter_entry_points(self.namespace):
+        # NOTE(jamielennox): kept for compatability.
+        self.load_commands(self.namespace)
+
+    def load_commands(self, namespace):
+        """Load all the commands from an entrypoint"""
+        for ep in pkg_resources.iter_entry_points(namespace):
             LOG.debug('found command %r', ep.name)
             cmd_name = (ep.name.replace('_', ' ')
                         if self.convert_underscores
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/display.py 
new/cliff-1.7.0/cliff/display.py
--- old/cliff-1.6.1/cliff/display.py    2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/display.py    2014-09-08 16:53:54.000000000 +0200
@@ -1,8 +1,19 @@
 """Application base class for displaying data.
 """
 import abc
+
+try:
+    from itertools import compress
+except ImportError:
+    # for py26 compat
+    from itertools import izip
+
+    def compress(data, selectors):
+        return (d for d, s in izip(data, selectors) if s)
+
 import logging
 
+import six
 import stevedore
 
 from .command import Command
@@ -11,10 +22,10 @@
 LOG = logging.getLogger(__name__)
 
 
[email protected]_metaclass(abc.ABCMeta)
 class DisplayCommandBase(Command):
     """Command base class for displaying data about a single object.
     """
-    __metaclass__ = abc.ABCMeta
 
     def __init__(self, app, app_args):
         super(DisplayCommandBase, self).__init__(app, app_args)
@@ -80,3 +91,7 @@
         column_names, data = self.take_action(parsed_args)
         self.produce_output(parsed_args, column_names, data)
         return 0
+
+    @staticmethod
+    def _compress_iterable(iterable, selectors):
+        return compress(iterable, selectors)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/formatters/base.py 
new/cliff-1.7.0/cliff/formatters/base.py
--- old/cliff-1.6.1/cliff/formatters/base.py    2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/formatters/base.py    2014-09-08 16:53:54.000000000 
+0200
@@ -3,9 +3,11 @@
 
 import abc
 
+import six
 
+
[email protected]_metaclass(abc.ABCMeta)
 class Formatter(object):
-    __metaclass__ = abc.ABCMeta
 
     @abc.abstractmethod
     def add_argument_group(self, parser):
@@ -15,10 +17,10 @@
         """
 
 
[email protected]_metaclass(abc.ABCMeta)
 class ListFormatter(Formatter):
     """Base class for formatters that know how to deal with multiple objects.
     """
-    __metaclass__ = abc.ABCMeta
 
     @abc.abstractmethod
     def emit_list(self, column_names, data, stdout, parsed_args):
@@ -32,10 +34,10 @@
         """
 
 
[email protected]_metaclass(abc.ABCMeta)
 class SingleFormatter(Formatter):
     """Base class for formatters that work with single objects.
     """
-    __metaclass__ = abc.ABCMeta
 
     @abc.abstractmethod
     def emit_one(self, column_names, data, stdout, parsed_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/formatters/commaseparated.py 
new/cliff-1.7.0/cliff/formatters/commaseparated.py
--- old/cliff-1.6.1/cliff/formatters/commaseparated.py  2014-04-08 
15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/formatters/commaseparated.py  2014-09-08 
16:53:54.000000000 +0200
@@ -2,6 +2,7 @@
 """
 
 import csv
+import os
 
 from .base import ListFormatter
 
@@ -28,6 +29,7 @@
     def emit_list(self, column_names, data, stdout, parsed_args):
         writer = csv.writer(stdout,
                             quoting=self.QUOTE_MODES[parsed_args.quote_mode],
+                            lineterminator=os.linesep,
                             )
         writer.writerow(column_names)
         for row in data:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/formatters/shell.py 
new/cliff-1.7.0/cliff/formatters/shell.py
--- old/cliff-1.6.1/cliff/formatters/shell.py   2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/formatters/shell.py   2014-09-08 16:53:54.000000000 
+0200
@@ -3,6 +3,7 @@
 
 from .base import SingleFormatter
 
+import argparse
 import six
 
 
@@ -19,7 +20,7 @@
             default=[],
             dest='variables',
             metavar='VARIABLE',
-            help='specify the variable(s) to include, can be repeated',
+            help=argparse.SUPPRESS,
         )
         group.add_argument(
             '--prefix',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/interactive.py 
new/cliff-1.7.0/cliff/interactive.py
--- old/cliff-1.6.1/cliff/interactive.py        2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/interactive.py        2014-09-08 16:53:54.000000000 
+0200
@@ -39,7 +39,7 @@
         cmd2.Cmd.__init__(self, 'tab', stdin=stdin, stdout=stdout)
 
     def default(self, line):
-        # Tie in the the default command processor to
+        # Tie in the default command processor to
         # dispatch commands known to the command manager.
         # We send the message through our parent app,
         # since it already has the logic for executing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/lister.py 
new/cliff-1.7.0/cliff/lister.py
--- old/cliff-1.6.1/cliff/lister.py     2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/lister.py     2014-09-08 16:53:54.000000000 +0200
@@ -1,28 +1,20 @@
 """Application base class for providing a list of data as output.
 """
 import abc
-
-try:
-    from itertools import compress
-except ImportError:
-    # for py26 compat
-    from itertools import izip
-
-    def compress(data, selectors):
-        return (d for d, s in izip(data, selectors) if s)
-
 import logging
 
+import six
+
 from .display import DisplayCommandBase
 
 
 LOG = logging.getLogger(__name__)
 
 
[email protected]_metaclass(abc.ABCMeta)
 class Lister(DisplayCommandBase):
     """Command base class for providing a list of data as output.
     """
-    __metaclass__ = abc.ABCMeta
 
     @property
     def formatter_namespace(self):
@@ -56,7 +48,7 @@
             # of data that the user has expressed interest in
             # seeing. We have to convert the compress() output to a
             # list so the table formatter can ask for its length.
-            data_gen = (list(compress(row, selector))
+            data_gen = (list(self._compress_iterable(row, selector))
                         for row in data)
         self.formatter.emit_list(columns_to_include,
                                  data_gen,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/show.py 
new/cliff-1.7.0/cliff/show.py
--- old/cliff-1.6.1/cliff/show.py       2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/show.py       2014-09-08 16:53:54.000000000 +0200
@@ -1,19 +1,20 @@
 """Application base class for displaying data about a single object.
 """
 import abc
-import itertools
 import logging
 
+import six
+
 from .display import DisplayCommandBase
 
 
 LOG = logging.getLogger(__name__)
 
 
[email protected]_metaclass(abc.ABCMeta)
 class ShowOne(DisplayCommandBase):
     """Command base class for displaying data about a single object.
     """
-    __metaclass__ = abc.ABCMeta
 
     @property
     def formatter_namespace(self):
@@ -38,7 +39,7 @@
             # Set up argument to compress()
             selector = [(c in columns_to_include)
                         for c in column_names]
-            data = list(itertools.compress(data, selector))
+            data = list(self._compress_iterable(data, selector))
         self.formatter.emit_one(columns_to_include,
                                 data,
                                 self.app.stdout,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/tests/test_app.py 
new/cliff-1.7.0/cliff/tests/test_app.py
--- old/cliff-1.6.1/cliff/tests/test_app.py     2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/tests/test_app.py     2014-09-08 16:53:54.000000000 
+0200
@@ -106,7 +106,7 @@
     else:
         assert False, 'Should have had an exception'
 
-    app.clean_up.assert_called_once()
+    assert app.clean_up.called
     call_args = app.clean_up.call_args_list[0]
     assert call_args == mock.call(mock.ANY, 1, mock.ANY)
     args, kwargs = call_args
@@ -123,7 +123,7 @@
     )
     app.run(['error'])
 
-    app.clean_up.assert_called_once()
+    assert app.clean_up.called
     call_args = app.clean_up.call_args_list[0]
     assert call_args == mock.call(mock.ANY, 1, mock.ANY)
     args, kwargs = call_args
@@ -150,7 +150,7 @@
     else:
         assert False, 'Should have had an exception'
 
-    app.clean_up.assert_called_once()
+    assert app.clean_up.called
     call_args = app.clean_up.call_args_list[0]
     assert call_args == mock.call(mock.ANY, 1, mock.ANY)
     args, kwargs = call_args
@@ -167,7 +167,7 @@
     )
     app.run(['mock'])
 
-    app.clean_up.assert_called_once()
+    assert app.clean_up.called
     call_args = app.clean_up.call_args_list[0]
     assert call_args == mock.call(mock.ANY, 0, None)
 
@@ -181,7 +181,7 @@
     )
     app.run(['--debug', 'mock'])
 
-    app.clean_up.assert_called_once()
+    assert app.clean_up.called
     call_args = app.clean_up.call_args_list[0]
     assert call_args == mock.call(mock.ANY, 0, None)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/tests/test_commandmanager.py 
new/cliff-1.7.0/cliff/tests/test_commandmanager.py
--- old/cliff-1.6.1/cliff/tests/test_commandmanager.py  2014-04-08 
15:09:38.000000000 +0200
+++ new/cliff-1.7.0/cliff/tests/test_commandmanager.py  2014-09-08 
16:53:54.000000000 +0200
@@ -2,24 +2,7 @@
 import mock
 
 from cliff.commandmanager import CommandManager
-
-
-class TestCommand(object):
-    @classmethod
-    def load(cls):
-        return cls
-
-    def __init__(self):
-        return
-
-
-class TestCommandManager(CommandManager):
-    def _load_commands(self):
-        self.commands = {
-            'one': TestCommand,
-            'two words': TestCommand,
-            'three word command': TestCommand,
-        }
+from cliff.tests import utils
 
 
 def test_lookup_and_find():
@@ -28,7 +11,7 @@
         assert cmd
         assert name == ' '.join(argv)
         assert not remaining
-    mgr = TestCommandManager('test')
+    mgr = utils.TestCommandManager(utils.TEST_NAMESPACE)
     for expected in [['one'],
                      ['two', 'words'],
                      ['three', 'word', 'command'],
@@ -42,7 +25,7 @@
         cmd, name, remaining = mgr.find_command(argv)
         assert cmd
         assert remaining == ['--opt']
-    mgr = TestCommandManager('test')
+    mgr = utils.TestCommandManager(utils.TEST_NAMESPACE)
     for expected in [['one', '--opt'],
                      ['two', 'words', '--opt'],
                      ['three', 'word', 'command', '--opt'],
@@ -52,7 +35,7 @@
 
 
 def test_find_invalid_command():
-    mgr = TestCommandManager('test')
+    mgr = utils.TestCommandManager(utils.TEST_NAMESPACE)
 
     def check_one(argv):
         try:
@@ -68,7 +51,7 @@
 
 
 def test_find_unknown_command():
-    mgr = TestCommandManager('test')
+    mgr = utils.TestCommandManager(utils.TEST_NAMESPACE)
     try:
         mgr.find_command(['a', 'b'])
     except ValueError as err:
@@ -78,7 +61,7 @@
 
 
 def test_add_command():
-    mgr = TestCommandManager('test')
+    mgr = utils.TestCommandManager(utils.TEST_NAMESPACE)
     mock_cmd = mock.Mock()
     mgr.add_command('mock', mock_cmd)
     found_cmd, name, args = mgr.find_command(['mock'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/tests/test_help.py 
new/cliff-1.7.0/cliff/tests/test_help.py
--- old/cliff-1.6.1/cliff/tests/test_help.py    2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/tests/test_help.py    2014-09-08 16:53:54.000000000 
+0200
@@ -6,39 +6,8 @@
 import mock
 
 from cliff.app import App
-from cliff.command import Command
-from cliff.commandmanager import CommandManager
 from cliff.help import HelpCommand
-
-
-class TestParser(object):
-
-    def print_help(self, stdout):
-        stdout.write('TestParser')
-
-
-class TestCommand(Command):
-
-    @classmethod
-    def load(cls):
-        return cls
-
-    def get_parser(self, ignore):
-        # Make it look like this class is the parser
-        # so parse_args() is called.
-        return TestParser()
-
-    def take_action(self, args):
-        return
-
-
-class TestCommandManager(CommandManager):
-    def _load_commands(self):
-        self.commands = {
-            'one': TestCommand,
-            'two words': TestCommand,
-            'three word command': TestCommand,
-        }
+from cliff.tests import utils
 
 
 def test_show_help_for_command():
@@ -46,7 +15,9 @@
     # do commands know too much about apps by using them to get to the
     # command manager?
     stdout = StringIO()
-    app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
+    app = App('testing', '1',
+              utils.TestCommandManager(utils.TEST_NAMESPACE),
+              stdout=stdout)
     app.NAME = 'test'
     help_cmd = HelpCommand(app, mock.Mock())
     parser = help_cmd.get_parser('test')
@@ -63,7 +34,9 @@
     # do commands know too much about apps by using them to get to the
     # command manager?
     stdout = StringIO()
-    app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
+    app = App('testing', '1',
+              utils.TestCommandManager(utils.TEST_NAMESPACE),
+              stdout=stdout)
     app.NAME = 'test'
     help_cmd = HelpCommand(app, mock.Mock())
     parser = help_cmd.get_parser('test')
@@ -83,7 +56,9 @@
     # do commands know too much about apps by using them to get to the
     # command manager?
     stdout = StringIO()
-    app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
+    app = App('testing', '1',
+              utils.TestCommandManager(utils.TEST_NAMESPACE),
+              stdout=stdout)
     app.NAME = 'test'
     help_cmd = HelpCommand(app, mock.Mock())
     parser = help_cmd.get_parser('test')
@@ -103,7 +78,9 @@
     # do commands know too much about apps by using them to get to the
     # command manager?
     stdout = StringIO()
-    app = App('testing', '1', TestCommandManager('cliff.test'), stdout=stdout)
+    app = App('testing', '1',
+              utils.TestCommandManager(utils.TEST_NAMESPACE),
+              stdout=stdout)
     app.NAME = 'test'
     help_cmd = HelpCommand(app, mock.Mock())
     parser = help_cmd.get_parser('test')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/tests/test_show.py 
new/cliff-1.7.0/cliff/tests/test_show.py
--- old/cliff-1.6.1/cliff/tests/test_show.py    2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/cliff/tests/test_show.py    2014-09-08 16:53:54.000000000 
+0200
@@ -1,5 +1,7 @@
 #!/usr/bin/env python
 
+import weakref
+
 from cliff.show import ShowOne
 
 import mock
@@ -9,15 +11,16 @@
 
     def __init__(self):
         self.args = []
+        self.obj = weakref.proxy(self)
 
-    def emit_list(self, columns, data, stdout, args):
+    def emit_one(self, columns, data, stdout, args):
         self.args.append((columns, data))
 
 
 class ExerciseShowOne(ShowOne):
 
-    def load_formatter_plugins(self):
-        self.formatters = {
+    def _load_formatter_plugins(self):
+        return {
             'test': FauxFormatter(),
         }
         return
@@ -29,21 +32,22 @@
         )
 
 
-# def test_formatter_args():
-#     app = mock.Mock()
-#     test_lister = ExerciseLister(app, [])
-
-#     parsed_args = mock.Mock()
-#     parsed_args.columns = ('Col1', 'Col2')
-#     parsed_args.formatter = 'test'
-
-#     test_lister.run(parsed_args)
-#     f = test_lister.formatters['test']
-#     assert len(f.args) == 1
-#     args = f.args[0]
-#     assert args[0] == list(parsed_args.columns)
-#     data = list(args[1])
-#     assert data == [['a', 'A'], ['b', 'B']]
+def test_formatter_args():
+    app = mock.Mock()
+    test_show = ExerciseShowOne(app, [])
+
+    parsed_args = mock.Mock()
+    parsed_args.columns = ('Col1', 'Col2')
+    parsed_args.formatter = 'test'
+
+    test_show.run(parsed_args)
+    f = test_show._formatter_plugins['test']
+    assert len(f.args) == 1
+    args = f.args[0]
+    assert args[0] == list(parsed_args.columns)
+    data = list(args[1])
+    assert data == [('a', 'A'), ('b', 'B')]
+
 
 def test_dict2columns():
     app = mock.Mock()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff/tests/utils.py 
new/cliff-1.7.0/cliff/tests/utils.py
--- old/cliff-1.6.1/cliff/tests/utils.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/cliff-1.7.0/cliff/tests/utils.py        2014-09-08 16:53:54.000000000 
+0200
@@ -0,0 +1,30 @@
+
+from cliff.command import Command
+from cliff.commandmanager import CommandManager
+
+TEST_NAMESPACE = 'cliff.test'
+
+
+class TestParser(object):
+
+    def print_help(self, stdout):
+        stdout.write('TestParser')
+
+
+class TestCommand(Command):
+
+    def get_parser(self, ignore):
+        # Make it look like this class is the parser
+        # so parse_args() is called.
+        return TestParser()
+
+    def take_action(self, args):
+        return
+
+
+class TestCommandManager(CommandManager):
+
+    def load_commands(self, namespace):
+        if namespace == TEST_NAMESPACE:
+            for key in ('one', 'two words', 'three word command'):
+                self.add_command(key, TestCommand)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff.egg-info/PKG-INFO 
new/cliff-1.7.0/cliff.egg-info/PKG-INFO
--- old/cliff-1.6.1/cliff.egg-info/PKG-INFO     2014-04-08 15:09:53.000000000 
+0200
+++ new/cliff-1.7.0/cliff.egg-info/PKG-INFO     2014-09-08 16:54:18.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: cliff
-Version: 1.6.1
+Version: 1.7.0
 Summary: Command Line Interface Formulation Framework
 Home-page: https://launchpad.net/python-cliff
 Author: Doug Hellmann
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff.egg-info/SOURCES.txt 
new/cliff-1.7.0/cliff.egg-info/SOURCES.txt
--- old/cliff-1.6.1/cliff.egg-info/SOURCES.txt  2014-04-08 15:09:53.000000000 
+0200
+++ new/cliff-1.7.0/cliff.egg-info/SOURCES.txt  2014-09-08 16:54:19.000000000 
+0200
@@ -46,6 +46,7 @@
 cliff/tests/test_help.py
 cliff/tests/test_lister.py
 cliff/tests/test_show.py
+cliff/tests/utils.py
 demoapp/README.rst
 demoapp/setup.py
 demoapp/cliffdemo/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff.egg-info/entry_points.txt 
new/cliff-1.7.0/cliff.egg-info/entry_points.txt
--- old/cliff-1.6.1/cliff.egg-info/entry_points.txt     2014-04-08 
15:09:53.000000000 +0200
+++ new/cliff-1.7.0/cliff.egg-info/entry_points.txt     2014-09-08 
16:54:18.000000000 +0200
@@ -1,13 +1,13 @@
 [cliff.formatter.completion]
-none = cliff.complete:CompleteNoCode
 bash = cliff.complete:CompleteBash
+none = cliff.complete:CompleteNoCode
 
 [cliff.formatter.list]
-table = cliff.formatters.table:TableFormatter
 csv = cliff.formatters.commaseparated:CSVLister
+table = cliff.formatters.table:TableFormatter
 
 [cliff.formatter.show]
-table = cliff.formatters.table:TableFormatter
 shell = cliff.formatters.shell:ShellFormatter
+table = cliff.formatters.table:TableFormatter
 value = cliff.formatters.value:ValueFormatter
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/cliff.egg-info/requires.txt 
new/cliff-1.7.0/cliff.egg-info/requires.txt
--- old/cliff-1.6.1/cliff.egg-info/requires.txt 2014-04-08 15:09:53.000000000 
+0200
+++ new/cliff-1.7.0/cliff.egg-info/requires.txt 2014-09-08 16:54:18.000000000 
+0200
@@ -1,5 +1,6 @@
+argparse
 cmd2>=0.6.7
 PrettyTable>=0.7,<0.8
 pyparsing>=2.0.1
-six>=1.4.1
-stevedore>=0.12
\ No newline at end of file
+six>=1.7.0
+stevedore>=0.14
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/docs/source/conf.py 
new/cliff-1.7.0/docs/source/conf.py
--- old/cliff-1.6.1/docs/source/conf.py 2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/docs/source/conf.py 2014-09-08 16:53:54.000000000 +0200
@@ -18,12 +18,12 @@
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
+# sys.path.insert(0, os.path.abspath('.'))
 
 # -- General configuration ---------------------------------------------------
 
 # If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
+# needs_sphinx = '1.0'
 
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
@@ -37,7 +37,7 @@
 source_suffix = '.rst'
 
 # The encoding of source files.
-#source_encoding = 'utf-8-sig'
+# source_encoding = 'utf-8-sig'
 
 # The master toctree document.
 master_doc = 'index'
@@ -59,13 +59,13 @@
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
-#language = None
+# language = None
 
 # There are two options for replacing |today|: either, you set today to some
 # non-false value, then it is used:
-#today = ''
+# today = ''
 # Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
+# today_fmt = '%B %d, %Y'
 
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
@@ -73,24 +73,24 @@
 
 # The reST default role (used for this markup: `text`) to use for all
 # documents.
-#default_role = None
+# default_role = None
 
 # If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
+# add_function_parentheses = True
 
 # If true, the current module name will be prepended to all description
 # unit titles (such as .. function::).
-#add_module_names = True
+# add_module_names = True
 
 # If true, sectionauthor and moduleauthor directives will be shown in the
 # output. They are ignored by default.
-#show_authors = False
+# show_authors = False
 
 # The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'sphinx'
 
 # A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
+# modindex_common_prefix = []
 
 
 # -- Options for HTML output -------------------------------------------------
@@ -102,26 +102,26 @@
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
 # documentation.
-#html_theme_options = {}
+# html_theme_options = {}
 
 # Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
+# html_theme_path = []
 
 # The name for this set of Sphinx documents.  If None, it defaults to
 # "<project> v<release> documentation".
-#html_title = None
+# html_title = None
 
 # A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
+# html_short_title = None
 
 # The name of an image file (relative to this directory) to place at the top
 # of the sidebar.
-#html_logo = None
+# html_logo = None
 
 # The name of an image file (within the static path) to use as favicon of the
 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
 # pixels large.
-#html_favicon = None
+# html_favicon = None
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
@@ -130,44 +130,44 @@
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
+# html_last_updated_fmt = '%b %d, %Y'
 
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
-#html_use_smartypants = True
+# html_use_smartypants = True
 
 # Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
+# html_sidebars = {}
 
 # Additional templates that should be rendered to pages, maps page names to
 # template names.
-#html_additional_pages = {}
+# html_additional_pages = {}
 
 # If false, no module index is generated.
-#html_domain_indices = True
+# html_domain_indices = True
 
 # If false, no index is generated.
-#html_use_index = True
+# html_use_index = True
 
 # If true, the index is split into individual pages for each letter.
-#html_split_index = False
+# html_split_index = False
 
 # If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
+# html_show_sourcelink = True
 
 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
+# html_show_sphinx = True
 
 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
+# html_show_copyright = True
 
 # If true, an OpenSearch description file will be output, and all pages will
 # contain a <link> tag referring to it.  The value of this option must be the
 # base URL from which the finished HTML is served.
-#html_use_opensearch = ''
+# html_use_opensearch = ''
 
 # This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
+# html_file_suffix = None
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'cliffdoc'
@@ -177,13 +177,13 @@
 
 latex_elements = {
     # The paper size ('letterpaper' or 'a4paper').
-    #'papersize': 'letterpaper',
+    # 'papersize': 'letterpaper',
 
     # The font size ('10pt', '11pt' or '12pt').
-    #'pointsize': '10pt',
+    # 'pointsize': '10pt',
 
     # Additional stuff for the LaTeX preamble.
-    #'preamble': '',
+    # 'preamble': '',
 }
 
 # Grouping the document tree into LaTeX files. List of tuples
@@ -196,23 +196,23 @@
 
 # The name of an image file (relative to this directory) to place at the top of
 # the title page.
-#latex_logo = None
+# latex_logo = None
 
 # For "manual" documents, if this is true, then toplevel headings are parts,
 # not chapters.
-#latex_use_parts = False
+# latex_use_parts = False
 
 # If true, show page references after internal links.
-#latex_show_pagerefs = False
+# latex_show_pagerefs = False
 
 # If true, show URL addresses after external links.
-#latex_show_urls = False
+# latex_show_urls = False
 
 # Documents to append as an appendix to all manuals.
-#latex_appendices = []
+# latex_appendices = []
 
 # If false, no module index is generated.
-#latex_domain_indices = True
+# latex_domain_indices = True
 
 
 # -- Options for manual page output ------------------------------------------
@@ -225,7 +225,7 @@
 ]
 
 # If true, show URL addresses after external links.
-#man_show_urls = False
+# man_show_urls = False
 
 
 # -- Options for Texinfo output ----------------------------------------------
@@ -240,10 +240,10 @@
 ]
 
 # Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
+# texinfo_appendices = []
 
 # If false, no module index is generated.
-#texinfo_domain_indices = True
+# texinfo_domain_indices = True
 
 # How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
+# texinfo_show_urls = 'footnote'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/docs/source/history.rst 
new/cliff-1.7.0/docs/source/history.rst
--- old/cliff-1.6.1/docs/source/history.rst     2014-04-08 15:09:38.000000000 
+0200
+++ new/cliff-1.7.0/docs/source/history.rst     2014-09-08 16:53:54.000000000 
+0200
@@ -2,13 +2,50 @@
  Release History
 =================
 
-dev
+1.7.0
+-----
 
-- Change the formatters attribute of display commands to reflect the
-  fact that it is meant to be an implementation detail of the base
-  class, and not used or modified by outsiders.
+* Updated dependencies from OpenStack global requirements
+* Clean up default tox environment list
+* Do not allow wheels for stable tests
+* Set the main logger name to match the application
+* CSV formatter should use system-dependent line ending
+* Make show option compatible with Python 2.6
+* Use six.add_metaclass instead of __metaclass__
+* fixed typos found by RETF rules
+* The --variable option to shell format is redundant
+* Expose load_commands publicly
+* Fix wrong method name assert_called_once
+* Fix pep8 failures on rule E265
+
+1.6.1
+-----
+
+* Remove PrettyTable from documentation requirements
+* Fix a bug in ShellFormatter's escaping of double quotes in strings
+* Import run_cross_tests.sh from oslo-incubator
+* add doc requirements to venv
+
+1.6.0
+-----
+
+* Add max-width support for table formatter
+* Add value only output formattter
+* Update readme with links to bug tracker and source
+* Move pep8 dependency into pep8 tox test
+* Fix doc build with Python 2.6.x
+* Fix interactive mode with command line args
+* Update .gitreview after repo rename
+* Escape double quotes in shell formatter
+* Add unit test for shell formatter
+* Rename private attribute to avoid conflict
+* Sync with global requirements
+* Add integration tests with known consumers
+* update history for previous change
+* Make the formatters a private part of the command
 
 1.5.2
+-----
 
 - Fix the arguments passed to commands when they are instantiated to
   pull out help. See https://github.com/dreamhost/cliff/issues/52 for
@@ -18,32 +55,38 @@
 - Use pbr for packaging.
 
 1.4.5
+-----
 
 - Update the pyparsing dependency to a version that supports both
   Python 2 and Python 3.
 - Add PyPy testing.
 
 1.4.4
+-----
 
 - Provide better error handling for unknown commands run from the
   command line. (Contributed by Christophe Chauvet.)
 
 1.4.3
+-----
 
 - More stdout encoding issues with Python 2.6.
 
 1.4.2
+-----
 
 - Fix an issue with unicode output under Python 2.6. See
   https://github.com/dreamhost/cliff/pull/40 for details.
 
 1.4.1
+-----
 
 - Add ``dict2columns`` method to ``ShowOne``. (Contributed by Dean
   Troyer)
 - Pin the requirement for cmd2 more tightly.
 
 1.4
+---
 
 - Store a reference to the InteractiveApp on the App while in
   interactive mode to allow commands to update the interactive
@@ -53,6 +96,7 @@
   breaks updates in some cases, so just fail if it isn't there.
 
 1.3.3
+-----
 
   - Restore compatibility with prettytable < 0.7.2 by forcing no
     output if there is no data (instead of printing an empty
@@ -60,6 +104,7 @@
   - Update to allow cmd2 version 0.6.5.1. Contributed by Dirk Mueller.
 
 1.3.2
+-----
 
   - Add ``convert_underscores`` parameter to ``CommandManager`` ``__init__``
     method to allow underscores to be used in command names. This optional
@@ -72,6 +117,7 @@
 .. _flake8: https://pypi.python.org/pypi/flake8
 
 1.3.1
+-----
 
   - Sort list of commands in interactive help mode. (contributed by
     Ilya Shakhat)
@@ -80,6 +126,7 @@
     the Python version.
 
 1.3
+---
 
   - Allow user to pass ``argparse_kwargs`` argument to the
     ``build_option_parser`` method. This argument can contain extra
@@ -88,11 +135,13 @@
   - Updated documentation to include dependency on distribute.
 
 1.2.1
+-----
 
   - Fix problem with documentation packaging.
   - Fix problem with missing ``izip`` import in ``lister.py``.
 
 1.2
+---
 
   - Fix problem with interactive mode ``help`` command.
   - Disable logging by default but add a ``--log-file`` option to
@@ -101,16 +150,19 @@
     OpenStack Quantum)
 
 1.1.2
+-----
 
   - Fix a packaging problem introduced in version 1.1.
 
 1.1
+---
 
   - Move tablib support (JSON, YAML, and HTML formatters) to a
     separate project to comply with Ubuntu packaging requirements. See
     https://github.com/dreamhost/cliff-tablib
 
 1.0
+---
 
   - Add trailing newlines after output from tablib-based formatters
     (JSON, YAML, and HTML). Contributed by Matt Joyce.
@@ -123,40 +175,47 @@
     instead of :func:`get_data`.
 
 0.7
+---
 
-  - Clean up interactive mode flag settting.
+  - Clean up interactive mode flag setting.
   - Add support for Python 2.6, contributed by heavenshell.
   - Fix multi-word commands in interactive mode.
 
 0.6
+---
 
   - Pass the non-global argument list to :func:`initialize_app` to be
     used in initialization work.
 
 0.5.1
+-----
 
   - Remove pinned version requirement for PrettyTable until the
     OpenStack clients catch up to the API change.
 
 0.5
+---
 
   - Asking for help about a command by prefix lists all matching
     commands.
   - Add formatters for HTML, JSON, and YAML.
 
 0.4
+---
 
   - Add shell formatter for single objects.
   - Add interactive mode.
   - Expand documentation.
 
 0.3
+---
 
   - Add ShowOne base class for commands that show details about single
     objects.
   - Fix a problem with Lister when there is no data to be printed.
 
 0.2
+---
 
   - Incorporate changes from dtroyer to replace use of optparse in App
     with argparse.
@@ -164,6 +223,7 @@
     subcommands.
 
 0.1
+---
 
   - Initial public release.
   - Included App, CommandManager, Lister, csv and table formatters, a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cliff-1.6.1/integration-tests/neutronclient-stable.sh 
new/cliff-1.7.0/integration-tests/neutronclient-stable.sh
--- old/cliff-1.6.1/integration-tests/neutronclient-stable.sh   2014-04-08 
15:09:38.000000000 +0200
+++ new/cliff-1.7.0/integration-tests/neutronclient-stable.sh   2014-09-08 
16:53:54.000000000 +0200
@@ -6,7 +6,7 @@
 
 # Manually download the source from PyPI and build it with the --editable flag.
 # This gives us access to run the tests.
-pip install --pre --no-deps --no-install --no-clean python-neutronclient
+pip install --pre --no-deps --no-install --no-clean --no-use-wheel 
python-neutronclient
 
 # This is where the source will end up after pip is done downloading and 
building it
 srcdir=$envdir/build/python-neutronclient/
@@ -18,5 +18,9 @@
 # Install the test requirements
 pip install --no-clean -r $srcdir/test-requirements.txt
 
+# Force a known hash seed value to avoid sorting errors from tox
+# giving us a random one.
+export PYTHONHASHSEED=0
+
 # Run testr
 python setup.py testr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/cliff-1.6.1/integration-tests/openstackclient-stable.sh 
new/cliff-1.7.0/integration-tests/openstackclient-stable.sh
--- old/cliff-1.6.1/integration-tests/openstackclient-stable.sh 2014-04-08 
15:09:38.000000000 +0200
+++ new/cliff-1.7.0/integration-tests/openstackclient-stable.sh 2014-09-08 
16:53:54.000000000 +0200
@@ -6,7 +6,7 @@
 
 # Manually download the source from PyPI and build it with the --editable flag.
 # This gives us access to run the tests.
-pip install --pre --no-deps --no-install --no-clean python-openstackclient
+pip install --pre --no-deps --no-install --no-clean --no-use-wheel 
python-openstackclient
 
 # This is where the source will end up after pip is done downloading and 
building it
 srcdir=$envdir/build/python-openstackclient/
@@ -18,5 +18,9 @@
 # Install the test requirements
 pip install --no-clean -r $srcdir/test-requirements.txt
 
+# Force a known hash seed value to avoid sorting errors from tox
+# giving us a random one.
+export PYTHONHASHSEED=0
+
 # Run testr
 python setup.py testr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/integration-tests/openstackclient-tip.sh 
new/cliff-1.7.0/integration-tests/openstackclient-tip.sh
--- old/cliff-1.6.1/integration-tests/openstackclient-tip.sh    2014-04-08 
15:09:38.000000000 +0200
+++ new/cliff-1.7.0/integration-tests/openstackclient-tip.sh    2014-09-08 
16:53:54.000000000 +0200
@@ -11,4 +11,8 @@
 
 pip install -r test-requirements.txt
 
+# Force a known hash seed value to avoid sorting errors from tox
+# giving us a random one.
+export PYTHONHASHSEED=0
+
 python setup.py testr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/requirements.txt 
new/cliff-1.7.0/requirements.txt
--- old/cliff-1.6.1/requirements.txt    2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/requirements.txt    2014-09-08 16:53:54.000000000 +0200
@@ -2,5 +2,5 @@
 cmd2>=0.6.7
 PrettyTable>=0.7,<0.8
 pyparsing>=2.0.1
-six>=1.4.1
-stevedore>=0.12
+six>=1.7.0
+stevedore>=0.14
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/setup.cfg new/cliff-1.7.0/setup.cfg
--- old/cliff-1.6.1/setup.cfg   2014-04-08 15:09:53.000000000 +0200
+++ new/cliff-1.7.0/setup.cfg   2014-09-08 16:54:19.000000000 +0200
@@ -43,7 +43,7 @@
 source-dir = docs/source
 
 [egg_info]
-tag_build = 
 tag_date = 0
+tag_build = 
 tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/setup.py new/cliff-1.7.0/setup.py
--- old/cliff-1.6.1/setup.py    2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/setup.py    2014-09-08 16:53:54.000000000 +0200
@@ -1,11 +1,27 @@
 #!/usr/bin/env python
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+#
+# 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.
+
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
 # In python < 2.7.4, a lazy loading of package `pbr` will break
 # setuptools if some other modules registered functions in `atexit`.
 # solution from: http://bugs.python.org/issue15881#msg170215
 try:
-    import multiprocessing  # flake8: noqa
+    import multiprocessing  # noqa
 except ImportError:
     pass
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cliff-1.6.1/tox.ini new/cliff-1.7.0/tox.ini
--- old/cliff-1.6.1/tox.ini     2014-04-08 15:09:38.000000000 +0200
+++ new/cliff-1.7.0/tox.ini     2014-09-08 16:53:54.000000000 +0200
@@ -1,5 +1,5 @@
 [tox]
-envlist = py26,py27,py32,py33,pypy,pep8
+envlist = py33,py26,py27,pypy,pep8
 
 [testenv]
 distribute = False

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to