Hello community,

here is the log from the commit of package python-os-testr for openSUSE:Factory 
checked in at 2017-08-28 15:31:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-os-testr (Old)
 and      /work/SRC/openSUSE:Factory/.python-os-testr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-os-testr"

Mon Aug 28 15:31:45 2017 rev:6 rq:515012 version:0.8.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-os-testr/python-os-testr.changes  
2016-11-15 18:01:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-os-testr.new/python-os-testr.changes     
2017-08-28 15:31:47.565369792 +0200
@@ -1,0 +2,19 @@
+Mon Aug  7 14:02:19 UTC 2017 - [email protected]
+
+- update to version 0.8.2
+  - Save subunit results file when using --no-discover
+  - Fix typo and change regexp to regex
+  - Add Constraints support
+  - Track failures during sorting of test results
+  - Fix error when without --regex option
+  - [Fix gate]Update test requirement
+  - Remove unused Babel setup
+  - Updated from global requirements
+
+-------------------------------------------------------------------
+Mon Feb 13 08:42:49 UTC 2017 - [email protected]
+
+- update _service
+- update Requires
+
+-------------------------------------------------------------------

Old:
----
  os-testr-0.8.0.tar.gz

New:
----
  os-testr-0.8.2.tar.gz

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

Other differences:
------------------
++++++ python-os-testr.spec ++++++
--- /var/tmp/diff_new_pack.XpJy6w/_old  2017-08-28 15:31:48.433247780 +0200
+++ /var/tmp/diff_new_pack.XpJy6w/_new  2017-08-28 15:31:48.437247218 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-os-testr
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %global sname os-testr
 Name:           python-os-testr
-Version:        0.8.0
+Version:        0.8.2
 Release:        0
 Summary:        A testr wrapper to provide functionality for OpenStack projects
 License:        Apache-2.0
@@ -29,11 +29,11 @@
 BuildRequires:  python-ddt >= 1.0.1
 BuildRequires:  python-devel
 BuildRequires:  python-oslotest >= 1.10.0
-BuildRequires:  python-pbr >= 1.6
+BuildRequires:  python-pbr >= 2.0.0
 BuildRequires:  python-testrepository >= 0.0.18
 BuildRequires:  python-testscenarios >= 0.4
 Requires:       python-Babel >= 2.3.4
-Requires:       python-pbr >= 1.6
+Requires:       python-pbr >= 2.0.0
 Requires:       python-python-subunit >= 0.0.18
 Requires:       python-testrepository >= 0.0.18
 Requires:       python-testtools >= 1.4.0
@@ -49,13 +49,14 @@
 Summary:        Documentation for the testr
 Group:          Documentation
 BuildRequires:  python-Sphinx
-BuildRequires:  python-oslosphinx >= 2.5.0
+BuildRequires:  python-oslosphinx >= 4.7.0
 
 %description doc
 Documentation for the testr wrapper.
 
 %prep
-%setup -q -n %{sname}-%{version}
+%autosetup -n %{sname}-%{version}
+%py_req_cleanup
 
 %build
 %{py2_build}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.XpJy6w/_old  2017-08-28 15:31:48.481241033 +0200
+++ /var/tmp/diff_new_pack.XpJy6w/_new  2017-08-28 15:31:48.481241033 +0200
@@ -1,14 +1,12 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/newton/openstack/os-testr/os-testr.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/openstack/os-testr/os-testr.spec.j2</param>
     <param name="output-name">python-os-testr.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/newton/global-requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/pike/global-requirements.txt</param>
+    <param name="changelog-email">[email protected]</param>
+    <param name="changelog-provider">gh,openstack,os-testr</param>
   </service>
   <service mode="disabled" name="download_files">
-    <param name="changesgenerate">enable</param>
-  </service>
-  <service name="refresh_patches" mode="disabled">
-    <param name="changesgenerate">enable</param>
   </service>
   <service name="format_spec_file" mode="disabled"/>
 </services>

++++++ os-testr-0.8.0.tar.gz -> os-testr-0.8.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/AUTHORS new/os-testr-0.8.2/AUTHORS
--- old/os-testr-0.8.0/AUTHORS  2016-09-28 21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/AUTHORS  2017-05-16 17:13:47.000000000 +0200
@@ -1,3 +1,4 @@
+Andreas Jaeger <[email protected]>
 Assaf Muller <[email protected]>
 Attila Fazekas <[email protected]>
 Christian Berendt <[email protected]>
@@ -7,15 +8,19 @@
 James Page <[email protected]>
 John Griffith <[email protected]>
 Kun Huang <[email protected]>
+Luz Cazares <[email protected]>
 Masayuki Igawa <[email protected]>
 Masayuki Igawa <[email protected]>
+Masayuki Igawa <[email protected]>
 Matthew Treinish <[email protected]>
 Monty Taylor <[email protected]>
 Shu Muto <[email protected]>
 TerryHowe <[email protected]>
 Thomas Bechtold <[email protected]>
+Tony Breeds <[email protected]>
 Yushiro FURUKAWA <[email protected]>
 guo yunxian <[email protected]>
 janonymous <[email protected]>
 melanie witt <[email protected]>
+ricolin <[email protected]>
 step6829 <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/ChangeLog new/os-testr-0.8.2/ChangeLog
--- old/os-testr-0.8.0/ChangeLog        2016-09-28 21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/ChangeLog        2017-05-16 17:13:47.000000000 +0200
@@ -1,6 +1,23 @@
 CHANGES
 =======
 
+0.8.2
+-----
+
+* Updated from global requirements
+* Remove unused Babel setup
+
+0.8.1
+-----
+
+* Updated from global requirements
+* [Fix gate]Update test requirement
+* Fix error when without --regex option
+* Updated from global requirements
+* Add Constraints support
+* Fix typo and change regexp to regex
+* Track failures during sorting of test results
+
 0.8.0
 -----
 
@@ -17,7 +34,8 @@
 * Construct a list of test cases instead of passing a regexp
 * Add support for Python versions
 * Delete openstack/common in flake8 exclude list
-* Simplify logic in _get_test_list
+* Save subunit results file when using --no-discover
+* Simplify logic in \_get\_test\_list
 * Remove discover from test-requirements
 * Make subprocess outputs to text for Python 3
 * Fix doc warnings and disable smarty-pants
@@ -60,13 +78,13 @@
 -----
 
 * Add support to ostestr to use subunit-trace color
-* Add subunit_trace --color option's doc
+* Add subunit\_trace --color option's doc
 * Fix documentation typos
 * Fix coverage section in tox.ini
-* Add delete *.pyc command before executing ostestr
-* Change to always parsing classes from test_id
+* Add delete \*.pyc command before executing ostestr
+* Change to always parsing classes from test\_id
 * Add colored output feature to subunit-trace
-* Add *.egg* to .gitignore
+* Add \*.egg\* to .gitignore
 * Fail if no tests were successfully executed
 * Fix syntax of the README file
 
@@ -85,10 +103,10 @@
 
 * Add whitelist file support
 * Fix issues with the blacklist file regex generation
-* Use test_to_run var in no-discover
-* Minor refactoring to make os_testr more testable
+* Use test\_to\_run var in no-discover
+* Minor refactoring to make os\_testr more testable
 * Switch to using autogenerated ChangeLog in docs
-* Change ignore-errors to ignore_errors
+* Change ignore-errors to ignore\_errors
 * Handle a skipped test without a reason message
 * Minimize output when --abbreviate is used
 * Make use of argparse groups and add some tests
@@ -98,7 +116,7 @@
 
 * Convert file names to regular expressions
 * Handle incomplete subunit streams
-* Set min pbr version in setup_requires
+* Set min pbr version in setup\_requires
 * update requirements
 * Add TODO entry for moving away from subprocess in ostestr
 * Improved docs for os-testr commands
@@ -110,7 +128,7 @@
 * Disable printing percent change on run time by default
 * Misc Python 3 compatibility fixes
 * Catch exception trying to extract test time
-* Fix ValueError in subunit_trace
+* Fix ValueError in subunit\_trace
 * Add support for having comments in the exclude file
 * Add TODO file to os-testr
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/PKG-INFO new/os-testr-0.8.2/PKG-INFO
--- old/os-testr-0.8.0/PKG-INFO 2016-09-28 21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/PKG-INFO 2017-05-16 17:13:47.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: os-testr
-Version: 0.8.0
+Version: 0.8.2
 Summary: A testr wrapper to provide functionality for OpenStack projects
 Home-page: http://docs.openstack.org/developer/os-testr/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/doc/source/ostestr.rst 
new/os-testr-0.8.2/doc/source/ostestr.rst
--- old/os-testr-0.8.0/doc/source/ostestr.rst   2016-09-28 21:24:04.000000000 
+0200
+++ new/os-testr-0.8.2/doc/source/ostestr.rst   2017-05-16 17:12:16.000000000 
+0200
@@ -122,13 +122,13 @@
 When ostestr is asked to do more complex test selection than a sinlge regex,
 it will ask testr for a full list of tests than passing the filtered test list
 back to testr.
-ostestr allows you do to do simple test exclusion via apssing rejection/black 
regexp::
+ostestr allows you do to do simple test exclusion via apssing rejection/black 
regex::
 
-    $ ostestr --back-regex 'slow_tests|bad_tests'
+    $ ostestr --black-regex 'slow_tests|bad_tests'
 
 ostestr also allow you to combine these argumants::
 
-    $ ostestr --regex ui\.interface --back-regexp 'slow_tests|bad_tests'
+    $ ostestr --regex ui\.interface --black-regex 'slow_tests|bad_tests'
 
 Here first we selected all tests which  matches to 'ui\.interface',
 than we are dropping all test which matches
@@ -147,7 +147,7 @@
     ^regex1 # Excludes these tests
     .*regex2 # exclude those tests
 
-The regexp used in the blacklist File or passed as argument, will be used
+The regex used in the blacklist File or passed as argument, will be used
 to drop tests from the initial selection list.
 Will generate a list which will exclude both any tests
 matching '^regex1' and '.*regex2'. If a blacklist file is used in conjunction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/ostestr.py 
new/os-testr-0.8.2/os_testr/ostestr.py
--- old/os-testr-0.8.0/os_testr/ostestr.py      2016-09-28 21:24:04.000000000 
+0200
+++ new/os-testr-0.8.2/os_testr/ostestr.py      2017-05-16 17:12:16.000000000 
+0200
@@ -16,12 +16,14 @@
 import argparse
 import atexit
 import copy
+import io
 import os
 import subprocess
 import sys
 import tempfile
 
 import pbr.version
+
 from subunit import run as subunit_run
 from testtools import run as testtools_run
 
@@ -58,8 +60,8 @@
                         help='Test rejection regex. If a test cases name '
                         'matches on re.search() operation , '
                         'it will be removed from the final test list. '
-                        'Effectively the black-regexp is added to '
-                        ' black regexp list, but you do need to edit a file. '
+                        'Effectively the black-regex is added to '
+                        ' black regex list, but you do need to edit a file. '
                         'The black filtering happens after the initial '
                         ' white selection, which by default is everything.')
     pretty = parser.add_mutually_exclusive_group()
@@ -195,17 +197,29 @@
 
 
 def call_subunit_run(test_id, pretty, subunit):
+    env = copy.deepcopy(os.environ)
+    cmd_save_results = ['testr', 'load', '--subunit']
+
     if pretty:
-        env = copy.deepcopy(os.environ)
+        # Use subunit run module
         cmd = ['python', '-m', 'subunit.run', test_id]
         ps = subprocess.Popen(cmd, env=env, stdout=subprocess.PIPE)
-        proc = subprocess.Popen(['subunit-trace', '--no-failure-debug', '-f'],
-                                env=env, stdin=ps.stdout)
+        # Save subunit results via testr
+        pfile = subprocess.Popen(cmd_save_results, env=env,
+                                 stdin=ps.stdout, stdout=subprocess.PIPE)
         ps.stdout.close()
+        # Transform output via subunit-trace
+        proc = subprocess.Popen(['subunit-trace', '--no-failure-debug', '-f'],
+                                env=env, stdin=pfile.stdout)
+        pfile.stdout.close()
         proc.communicate()
         return proc.returncode
     elif subunit:
-        subunit_run.main([sys.argv[0], test_id], sys.stdout)
+        sstdout = io.BytesIO()
+        subunit_run.main([sys.argv[0], test_id], sstdout)
+        pfile = subprocess.Popen(cmd_save_results, env=env,
+                                 stdin=subprocess.PIPE)
+        pfile.communicate(input=sstdout.getvalue())
     else:
         testtools_run.main([sys.argv[0], test_id], sys.stdout)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/regex_builder.py 
new/os-testr-0.8.2/os_testr/regex_builder.py
--- old/os-testr-0.8.0/os_testr/regex_builder.py        2016-09-28 
21:24:05.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/regex_builder.py        2017-05-16 
17:12:16.000000000 +0200
@@ -19,7 +19,10 @@
 
 def _get_test_list(regex, env=None):
     env = env or copy.deepcopy(os.environ)
-    proc = subprocess.Popen(['testr', 'list-tests', regex], env=env,
+    testr_args = ['testr', 'list-tests']
+    if regex:
+        testr_args.append(regex)
+    proc = subprocess.Popen(testr_args, env=env,
                             stdout=subprocess.PIPE, universal_newlines=True)
     out = proc.communicate()[0]
     raw_test_list = out.split('\n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/subunit2html.py 
new/os-testr-0.8.2/os_testr/subunit2html.py
--- old/os-testr-0.8.0/os_testr/subunit2html.py 2016-09-28 21:24:04.000000000 
+0200
+++ new/os-testr-0.8.2/os_testr/subunit2html.py 2017-05-16 17:12:16.000000000 
+0200
@@ -617,18 +617,31 @@
         # unittest does not seems to run in any particular order.
         # Here at least we want to group them together by class.
         rmap = {}
+        classes = []
         # Differentiate between classes that have test failures so we can sort
         # them at the top of the html page for easier troubleshooting
-        failclasses = []
-        passclasses = []
+        clsmap_has_failure = collections.defaultdict(bool)
+
+        def track_has_failure(name, n):
+            if n == 1 or n == 2:
+                clsmap_has_failure[name] = True
+
         for n, t, o, e in result_list:
-            classes = failclasses if n == 1 or n == 2 else passclasses
             if hasattr(t, '_tests'):
                 for inner_test in t._tests:
-                    self._add_cls(rmap, classes, inner_test,
-                                  (n, inner_test, o, e))
+                    name = self._add_cls(rmap, classes, inner_test,
+                                         (n, inner_test, o, e))
+                    track_has_failure(name, n)
             else:
-                self._add_cls(rmap, classes, t, (n, t, o, e))
+                name = self._add_cls(rmap, classes, t, (n, t, o, e))
+                track_has_failure(name, n)
+
+        failclasses = []
+        passclasses = []
+        for cls in classes:
+            append_to = (failclasses if clsmap_has_failure[str(cls)]
+                         else passclasses)
+            append_to.append(cls)
         classort = lambda s: str(s)
         sortedfailclasses = sorted(failclasses, key=classort)
         sortedpassclasses = sorted(passclasses, key=classort)
@@ -649,6 +662,7 @@
             rmap[str(cls)] = []
             classes.append(cls)
         rmap[str(cls)].append(data_tuple)
+        return str(cls)
 
     def _generate_report_test(self, rows, cid, tid, n, t, o, e):
         # e.g. 'pt1.1', 'ft1.1', etc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/testlist_builder.py 
new/os-testr-0.8.2/os_testr/testlist_builder.py
--- old/os-testr-0.8.0/os_testr/testlist_builder.py     2016-09-28 
21:24:05.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/testlist_builder.py     2017-05-16 
17:12:16.000000000 +0200
@@ -70,7 +70,7 @@
         black_data = None
 
     if black_regex:
-        msg = "Skipped bacuse of regexp provided as a command line argument:"
+        msg = "Skipped because of regex provided as a command line argument:"
         record = (re.compile(black_regex), msg, [])
         if black_data:
             black_data.append(record)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/tests/test_ostestr.py 
new/os-testr-0.8.2/os_testr/tests/test_ostestr.py
--- old/os-testr-0.8.0/os_testr/tests/test_ostestr.py   2016-09-28 
21:24:04.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/tests/test_ostestr.py   2017-05-16 
17:12:16.000000000 +0200
@@ -18,7 +18,7 @@
 
 Tests for `os_testr` module.
 """
-
+import io
 import mock
 
 from os_testr import ostestr as os_testr
@@ -115,3 +115,73 @@
                                   'call_subunit_run',
                                   side_effect=_fake_run):
             os_testr.main()
+
+    def test_call_subunit_run_pretty(self):
+        '''Test call_subunit_run
+
+        Test ostestr call_subunit_run function when:
+        Pretty is True
+        '''
+        pretty = True
+        subunit = False
+
+        with mock.patch('subprocess.Popen', autospec=True) as mock_popen:
+            mock_popen.return_value.returncode = 0
+            mock_popen.return_value.stdout = io.BytesIO()
+
+            os_testr.call_subunit_run('project.tests.foo', pretty, subunit)
+
+            # Validate Popen was called three times
+            self.assertTrue(mock_popen.called, 'Popen was never called')
+            count = mock_popen.call_count
+            self.assertEqual(3, count, 'Popen was called %s'
+                             ' instead of 3 times' % count)
+
+            # Validate Popen called the right functions
+            called = mock_popen.call_args_list
+            msg = "Function %s not called"
+            function = ['python', '-m', 'subunit.run', 'project.tests.foo']
+            self.assertIn(function, called[0][0], msg % 'subunit.run')
+            function = ['testr', 'load', '--subunit']
+            self.assertIn(function, called[1][0], msg % 'testr load')
+            function = ['subunit-trace', '--no-failure-debug', '-f']
+            self.assertIn(function, called[2][0], msg % 'subunit-trace')
+
+    def test_call_subunit_run_sub(self):
+        '''Test call_subunit run
+
+        Test ostestr call_subunit_run function when:
+        Pretty is False and Subunit is True
+        '''
+        pretty = False
+        subunit = True
+
+        with mock.patch('subprocess.Popen', autospec=True) as mock_popen:
+            os_testr.call_subunit_run('project.tests.foo', pretty, subunit)
+
+            # Validate Popen was called once
+            self.assertTrue(mock_popen.called, 'Popen was never called')
+            count = mock_popen.call_count
+            self.assertEqual(1, count, 'Popen was called more than once')
+
+            # Validate Popen called the right function
+            called = mock_popen.call_args
+            function = ['testr', 'load', '--subunit']
+            self.assertIn(function, called[0], "testr load not called")
+
+    def test_call_subunit_run_testtools(self):
+        '''Test call_subunit_run
+
+        Test ostestr call_subunit_run function when:
+        Pretty is False and Subunit is False
+        '''
+        pretty = False
+        subunit = False
+
+        with mock.patch('testtools.run.main', autospec=True) as mock_run:
+            os_testr.call_subunit_run('project.tests.foo', pretty, subunit)
+
+            # Validate testtool.run was called once
+            self.assertTrue(mock_run.called, 'testtools.run was never called')
+            count = mock_run.call_count
+            self.assertEqual(1, count, 'testtools.run called more than once')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/tests/test_regex_builder.py 
new/os-testr-0.8.2/os_testr/tests/test_regex_builder.py
--- old/os-testr-0.8.0/os_testr/tests/test_regex_builder.py     2016-09-28 
21:24:05.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/tests/test_regex_builder.py     2017-05-16 
17:12:16.000000000 +0200
@@ -174,3 +174,16 @@
     def test__get_test_list(self):
         test_list = os_testr._get_test_list('test__get_test_list')
         self.assertIn('test__get_test_list', test_list[0])
+
+    def test__get_test_list_regex_is_empty(self):
+        test_list = os_testr._get_test_list('')
+        self.assertIn('', test_list[0])
+
+    def test__get_test_list_regex_is_none(self):
+        test_list = os_testr._get_test_list(None)
+        # NOTE(masayukig): We should get all of the tests. So we should have
+        # more than one test case.
+        self.assertGreater(len(test_list), 1)
+        self.assertIn('os_testr.tests.test_regex_builder.'
+                      'TestGetTestList.test__get_test_list_regex_is_none',
+                      test_list)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/tests/test_subunit2html.py 
new/os-testr-0.8.2/os_testr/tests/test_subunit2html.py
--- old/os-testr-0.8.0/os_testr/tests/test_subunit2html.py      2016-09-28 
21:24:04.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/tests/test_subunit2html.py      2017-05-16 
17:12:16.000000000 +0200
@@ -54,8 +54,10 @@
         # example.path.to.test4 has a failure
         obj.addFailure(tests[4], err)
         obj.addSuccess(tests[7])
-        # example.path.to.test6 has a failure
+        # example.path.to.test6 has a success, a failure, and a success
+        obj.addSuccess(tests[6])
         obj.addFailure(tests[6], err)
+        obj.addSuccess(tests[6])
         sorted_result = obj._sortResult(obj.result)
         # _sortResult returns a list of results of format:
         #   [(class, [test_result_tuple, ...]), ...]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr/tests/testlist_builder.py 
new/os-testr-0.8.2/os_testr/tests/testlist_builder.py
--- old/os-testr-0.8.0/os_testr/tests/testlist_builder.py       2016-09-28 
21:24:05.000000000 +0200
+++ new/os-testr-0.8.2/os_testr/tests/testlist_builder.py       2017-05-16 
17:12:16.000000000 +0200
@@ -38,7 +38,7 @@
             self.assertEqual(r[2], [])
             if r[1] == 'note':
                 note_cnt += 1
-            self.assertIn('search', dir(r[0]))  # like a compiled regexp
+            self.assertIn('search', dir(r[0]))  # like a compiled regex
         self.assertEqual(note_cnt, 4)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr.egg-info/PKG-INFO 
new/os-testr-0.8.2/os_testr.egg-info/PKG-INFO
--- old/os-testr-0.8.0/os_testr.egg-info/PKG-INFO       2016-09-28 
21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/os_testr.egg-info/PKG-INFO       2017-05-16 
17:13:47.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: os-testr
-Version: 0.8.0
+Version: 0.8.2
 Summary: A testr wrapper to provide functionality for OpenStack projects
 Home-page: http://docs.openstack.org/developer/os-testr/
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr.egg-info/SOURCES.txt 
new/os-testr-0.8.2/os_testr.egg-info/SOURCES.txt
--- old/os-testr-0.8.0/os_testr.egg-info/SOURCES.txt    2016-09-28 
21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/os_testr.egg-info/SOURCES.txt    2017-05-16 
17:13:47.000000000 +0200
@@ -58,4 +58,5 @@
 os_testr/tests/utils/__init__.py
 os_testr/tests/utils/test_colorizer.py
 os_testr/utils/__init__.py
-os_testr/utils/colorizer.py
\ No newline at end of file
+os_testr/utils/colorizer.py
+tools/tox_install.sh
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr.egg-info/pbr.json 
new/os-testr-0.8.2/os_testr.egg-info/pbr.json
--- old/os-testr-0.8.0/os_testr.egg-info/pbr.json       2016-09-28 
21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/os_testr.egg-info/pbr.json       2017-05-16 
17:13:47.000000000 +0200
@@ -1 +1 @@
-{"is_release": true, "git_version": "0de62e3"}
\ No newline at end of file
+{"git_version": "e84d062", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/os_testr.egg-info/requires.txt 
new/os-testr-0.8.2/os_testr.egg-info/requires.txt
--- old/os-testr-0.8.0/os_testr.egg-info/requires.txt   2016-09-28 
21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/os_testr.egg-info/requires.txt   2017-05-16 
17:13:47.000000000 +0200
@@ -1,5 +1,4 @@
-pbr>=1.6
-Babel>=2.3.4
+pbr!=2.1.0,>=2.0.0
 testrepository>=0.0.18
 python-subunit>=0.0.18
 testtools>=1.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/requirements.txt 
new/os-testr-0.8.2/requirements.txt
--- old/os-testr-0.8.0/requirements.txt 2016-09-28 21:24:04.000000000 +0200
+++ new/os-testr-0.8.2/requirements.txt 2017-05-16 17:12:16.000000000 +0200
@@ -2,8 +2,7 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-pbr>=1.6 # Apache-2.0
-Babel>=2.3.4 # BSD
+pbr!=2.1.0,>=2.0.0 # Apache-2.0
 testrepository>=0.0.18 # Apache-2.0/BSD
 python-subunit>=0.0.18 # Apache-2.0/BSD
 testtools>=1.4.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/setup.cfg new/os-testr-0.8.2/setup.cfg
--- old/os-testr-0.8.0/setup.cfg        2016-09-28 21:26:08.000000000 +0200
+++ new/os-testr-0.8.2/setup.cfg        2017-05-16 17:13:47.000000000 +0200
@@ -38,22 +38,7 @@
 [upload_sphinx]
 upload-dir = doc/build/html
 
-[compile_catalog]
-directory = os_testr/locale
-domain = os-testr
-
-[update_catalog]
-domain = os-testr
-output_dir = os_testr/locale
-input_file = os_testr/locale/os-testr.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = os_testr/locale/os-testr.pot
-
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/setup.py new/os-testr-0.8.2/setup.py
--- old/os-testr-0.8.0/setup.py 2016-09-28 21:24:04.000000000 +0200
+++ new/os-testr-0.8.2/setup.py 2017-05-16 17:12:16.000000000 +0200
@@ -25,5 +25,5 @@
     pass
 
 setuptools.setup(
-    setup_requires=['pbr>=1.8'],
+    setup_requires=['pbr>=2.0.0'],
     pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/test-requirements.txt 
new/os-testr-0.8.2/test-requirements.txt
--- old/os-testr-0.8.0/test-requirements.txt    2016-09-28 21:24:05.000000000 
+0200
+++ new/os-testr-0.8.2/test-requirements.txt    2017-05-16 17:12:16.000000000 
+0200
@@ -2,10 +2,10 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 
-hacking<0.11,>=0.10.2 # Apache-2.0
+hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
 
-coverage>=3.6 # Apache-2.0
-sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+coverage!=4.4,>=4.0 # Apache-2.0
+sphinx>=1.5.1 # BSD
 oslosphinx>=4.7.0 # Apache-2.0
 oslotest>=1.10.0 # Apache-2.0
 testscenarios>=0.4 # Apache-2.0/BSD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/tools/tox_install.sh 
new/os-testr-0.8.2/tools/tox_install.sh
--- old/os-testr-0.8.0/tools/tox_install.sh     1970-01-01 01:00:00.000000000 
+0100
+++ new/os-testr-0.8.2/tools/tox_install.sh     2017-05-16 17:12:16.000000000 
+0200
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+# Client constraint file contains this client version pin that is in conflict
+# with installing the client from source. We should remove the version pin in
+# the constraints file before applying it for from-source installation.
+
+CONSTRAINTS_FILE="$1"
+shift 1
+
+set -e
+
+# NOTE(tonyb): Place this in the tox enviroment's log dir so it will get
+# published to logs.openstack.org for easy debugging.
+localfile="$VIRTUAL_ENV/log/upper-constraints.txt"
+
+if [[ "$CONSTRAINTS_FILE" != http* ]]; then
+    CONSTRAINTS_FILE="file://$CONSTRAINTS_FILE"
+fi
+# NOTE(tonyb): need to add curl to bindep.txt if the project supports bindep
+curl "$CONSTRAINTS_FILE" --insecure --progress-bar --output "$localfile"
+
+pip install -c"$localfile" openstack-requirements
+
+# This is the main purpose of the script: Allow local installation of
+# the current repo. It is listed in constraints file and thus any
+# install will be constrained and we need to unconstrain it.
+edit-constraints "$localfile" -- "$CLIENT_NAME"
+
+pip install -c"$localfile" -U "$@"
+exit $?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/os-testr-0.8.0/tox.ini new/os-testr-0.8.2/tox.ini
--- old/os-testr-0.8.0/tox.ini  2016-09-28 21:24:04.000000000 +0200
+++ new/os-testr-0.8.2/tox.ini  2017-05-16 17:12:16.000000000 +0200
@@ -1,13 +1,15 @@
 [tox]
-minversion = 1.6
+minversion = 2.0
 envlist = py35,py34,py27,pypy,pep8
 skipsdist = True
 
 [testenv]
 usedevelop = True
-install_command = pip install -U {opts} {packages}
+install_command = {toxinidir}/tools/tox_install.sh 
{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
 {opts} {packages}
 setenv =
    VIRTUAL_ENV={envdir}
+   BRANCH_NAME=master
+   CLIENT_NAME=os-testr
 whitelist_externals = find
 deps = -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt


Reply via email to