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
