Hello community,
here is the log from the commit of package python-python-subunit for
openSUSE:Factory checked in at 2014-10-06 22:05:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-subunit (Old)
and /work/SRC/openSUSE:Factory/.python-python-subunit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-subunit"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-python-subunit/python-python-subunit.changes
2014-02-26 06:55:09.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.python-python-subunit.new/python-python-subunit.changes
2014-10-06 22:05:17.000000000 +0200
@@ -1,0 +2,18 @@
+Sat Sep 27 17:26:10 UTC 2014 - [email protected]
+
+- update to 0.0.21:
+ * Brown bag bugfix - 0.0.20's setup.py referenced cvs not csv.
+ (Robert Collins, #1361924)
+ * subunit2csv is now installed when using pip.
+ (Robert Collins, #1279669)
+ * testscenarios is now a test dependency, not an install dependency.
+ (Arfrever Frehtes Taifersar Arahesis, #1292757)
+ * The python-subunit tarball can now have setup run from the current
+ directory. (Robert Collins, #1361857)
+ * ``subunit.run`` in Python will now exit 0 as long as the test stream has
+ been generated correctly - this has always been the intent but API friction
+ with testtools had prevented it working.
+ (Robert Collins)
+- Remove python-testscenarios dependency; not needed anymore
+
+-------------------------------------------------------------------
Old:
----
python-subunit-0.0.18.tar.gz
New:
----
python-subunit-0.0.21.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-subunit.spec ++++++
--- /var/tmp/diff_new_pack.IdxU1D/_old 2014-10-06 22:05:18.000000000 +0200
+++ /var/tmp/diff_new_pack.IdxU1D/_new 2014-10-06 22:05:18.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-python-subunit
-Version: 0.0.18
+Version: 0.0.21
Release: 0
Summary: Python implementation of subunit test streaming protocol
License: Apache-2.0 or BSD-3-Clause
@@ -31,7 +31,6 @@
BuildRequires: python-testscenarios
BuildRequires: python-testtools >= 0.9.34
Requires: python-extras
-Requires: python-testscenarios
Requires: python-testtools >= 0.9.34
Requires(post): update-alternatives
Requires(postun): update-alternatives
@@ -54,7 +53,7 @@
%prep
%setup -q -n python-subunit-%{version}
%patch0 -p1
-for B in subunit-2to1 subunit-1to2 subunit-filter subunit-ls subunit-notify
subunit-stats subunit-tags subunit-output subunit2gtk subunit2junitxml
subunit2pyunit tap2subunit ; do
+for B in subunit2csv subunit-2to1 subunit-1to2 subunit-filter subunit-ls
subunit-notify subunit-stats subunit-tags subunit-output subunit2gtk
subunit2junitxml subunit2pyunit tap2subunit ; do
sed -i "s|'filters/$B'|'filters/$B-%{py_ver}'|" setup.py
mv filters/$B filters/$B-%{py_ver}
done
@@ -68,7 +67,7 @@
#NOTE(saschpe): The testsuite demands executables:
chmod +x %{buildroot}%{python_sitelib}/subunit/tests/sample-*.py
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-for B in subunit-2to1 subunit-1to2 subunit-filter subunit-ls subunit-notify
subunit-stats subunit-tags subunit-output subunit2gtk subunit2junitxml
subunit2pyunit tap2subunit ; do
+for B in subunit2csv subunit-2to1 subunit-1to2 subunit-filter subunit-ls
subunit-notify subunit-stats subunit-tags subunit-output subunit2gtk
subunit2junitxml subunit2pyunit tap2subunit ; do
touch %{buildroot}%{_sysconfdir}/alternatives/$B
ln -sf %{_sysconfdir}/alternatives/$B %{buildroot}/%{_bindir}/$B
done
@@ -85,6 +84,7 @@
update-alternatives \
--install %{_bindir}/subunit-2to1 subunit-2to1
%{_bindir}/subunit-2to1-%{py_ver} 20 \
--slave %{_bindir}/subunit-1to2 subunit-1to2
%{_bindir}/subunit-1to2-%{py_ver} \
+ --slave %{_bindir}/subunit2csv subunit2csv
%{_bindir}/subunit2csv-%{py_ver} \
--slave %{_bindir}/subunit-filter subunit-filter
%{_bindir}/subunit-filter-%{py_ver} \
--slave %{_bindir}/subunit-ls subunit-ls %{_bindir}/subunit-ls-%{py_ver} \
--slave %{_bindir}/subunit-notify subunit-notify
%{_bindir}/subunit-notify-%{py_ver} \
@@ -104,6 +104,8 @@
%files
%defattr(-,root,root,-)
%doc README NEWS
+%{_bindir}/subunit2csv
+%{_bindir}/subunit2csv-%{py_ver}
%{_bindir}/subunit-2to1
%{_bindir}/subunit-2to1-%{py_ver}
%{_bindir}/subunit-1to2
@@ -128,6 +130,7 @@
%{_bindir}/subunit2pyunit-%{py_ver}
%{_bindir}/tap2subunit
%{_bindir}/tap2subunit-%{py_ver}
+%ghost %{_sysconfdir}/alternatives/subunit2csv
%ghost %{_sysconfdir}/alternatives/subunit-2to1
%ghost %{_sysconfdir}/alternatives/subunit-1to2
%ghost %{_sysconfdir}/alternatives/subunit-filter
++++++ python-subunit-0.0.18.tar.gz -> python-subunit-0.0.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/NEWS
new/python-subunit-0.0.21/NEWS
--- old/python-subunit-0.0.18/NEWS 2014-01-29 20:13:19.000000000 +0100
+++ new/python-subunit-0.0.21/NEWS 2014-08-27 03:32:38.000000000 +0200
@@ -5,11 +5,46 @@
NEXT (In development)
---------------------
+0.0.21
+------
+
+BUGFIXES
+~~~~~~~~
+
+* Brown bag bugfix - 0.0.20's setup.py referenced cvs not csv.
+ (Robert Collins, #1361924)
+
+0.0.20
+------
+
+BUGFIXES
+~~~~~~~~
+
+* subunit2csv is now installed when using pip.
+ (Robert Collins, #1279669)
+
+* testscenarios is now a test dependency, not an install dependency.
+ (Arfrever Frehtes Taifersar Arahesis, #1292757)
+
+* The python-subunit tarball can now have setup run from the current
+ directory. (Robert Collins, #1361857)
+
+0.0.19
+------
+
+IMPROVEMENTS
+~~~~~~~~~~~~
+
+* ``subunit.run`` in Python will now exit 0 as long as the test stream has
+ been generated correctly - this has always been the intent but API friction
+ with testtools had prevented it working.
+ (Robert Collins)
+
0.0.18
------
-IMPROVMENTS
-~~~~~~~~~~~
+IMPROVEMENTS
+~~~~~~~~~~~~
* Fix compatibility with testtools 0.9.35 which dropped the 'all' compat
symbol. This breaks support for Python versions lower than 2.6.
@@ -18,8 +53,8 @@
0.0.17
------
-IMPROVMENTS
-~~~~~~~~~~~
+IMPROVEMENTS
+~~~~~~~~~~~~
* Add ``subunit-output`` tool that can generate a Subunit v2 bytestream from
arguments passed on the command line. (Thomi Richards, #1252084)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/PKG-INFO
new/python-subunit-0.0.21/PKG-INFO
--- old/python-subunit-0.0.18/PKG-INFO 2014-01-29 20:16:59.000000000 +0100
+++ new/python-subunit-0.0.21/PKG-INFO 2014-08-27 03:33:40.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: python-subunit
-Version: 0.0.18
+Version: 0.0.21
Summary: Python implementation of subunit test streaming protocol
Home-page: http://launchpad.net/subunit
Author: Robert Collins
@@ -470,10 +470,10 @@
========
* Update versions in configure.ac and python/subunit/__init__.py.
- * Update Makefile in the root or do an inplace configure to get an
updated Makefile.
* Update NEWS.
- * Make PyPI and regular tarball releases. Upload the regular one to
LP, the
- PyPI one to PyPI.
+ * Do a make distcheck, which will update Makefile etc.
+ * Do a PyPI release: PYTHONPATH=../../python python ../../setup.py
sdist upload -s
+ * Upload the regular one to LP.
* Push a tagged commit.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/README
new/python-subunit-0.0.21/README
--- old/python-subunit-0.0.18/README 2014-01-29 10:32:50.000000000 +0100
+++ new/python-subunit-0.0.21/README 2014-08-24 08:00:35.000000000 +0200
@@ -462,9 +462,9 @@
========
* Update versions in configure.ac and python/subunit/__init__.py.
-* Update Makefile in the root or do an inplace configure to get an updated
Makefile.
* Update NEWS.
-* Make PyPI and regular tarball releases. Upload the regular one to LP, the
- PyPI one to PyPI.
+* Do a make distcheck, which will update Makefile etc.
+* Do a PyPI release: PYTHONPATH=../../python python ../../setup.py sdist
upload -s
+* Upload the regular one to LP.
* Push a tagged commit.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/filters/subunit2csv
new/python-subunit-0.0.21/filters/subunit2csv
--- old/python-subunit-0.0.18/filters/subunit2csv 1970-01-01
01:00:00.000000000 +0100
+++ new/python-subunit-0.0.21/filters/subunit2csv 2013-04-08
12:28:36.000000000 +0200
@@ -0,0 +1,26 @@
+#!/usr/bin/env python
+# subunit: extensions to python unittest to get test results from
subprocesses.
+# Copyright (C) 2009 Robert Collins <[email protected]>
+#
+# Licensed under either the Apache License, Version 2.0 or the BSD 3-clause
+# license at the users choice. A copy of both licenses are available in the
+# project source as Apache-2.0 and BSD. You may not use this file except in
+# compliance with one of these two licences.
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under these licenses is d on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# license you chose for the specific language governing permissions and
+# limitations under that license.
+#
+
+"""Turn a subunit stream into a CSV"""
+
+from testtools import StreamToExtendedDecorator
+
+from subunit.filters import run_filter_script
+from subunit.test_results import CsvResult
+
+
+run_filter_script(lambda output:StreamToExtendedDecorator(CsvResult(output)),
+ __doc__, protocol_version=2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/python/subunit/__init__.py
new/python-subunit-0.0.21/python/subunit/__init__.py
--- old/python-subunit-0.0.18/python/subunit/__init__.py 2014-01-29
20:14:12.000000000 +0100
+++ new/python-subunit-0.0.21/python/subunit/__init__.py 2014-08-27
03:31:40.000000000 +0200
@@ -153,7 +153,7 @@
# If the releaselevel is 'final', then the tarball will be major.minor.micro.
# Otherwise it is major.minor.micro~$(revno).
-__version__ = (0, 0, 18, 'final', 0)
+__version__ = (0, 0, 21, 'final', 0)
PROGRESS_SET = 0
PROGRESS_CUR = 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/python/subunit/run.py
new/python-subunit-0.0.21/python/subunit/run.py
--- old/python-subunit-0.0.18/python/subunit/run.py 2013-11-30
02:53:54.000000000 +0100
+++ new/python-subunit-0.0.21/python/subunit/run.py 2014-08-24
07:18:12.000000000 +0200
@@ -40,15 +40,21 @@
class SubunitTestRunner(object):
- def __init__(self, verbosity=None, failfast=None, buffer=None,
stream=None):
+ def __init__(self, verbosity=None, failfast=None, buffer=None, stream=None,
+ stdout=None):
"""Create a TestToolsTestRunner.
:param verbosity: Ignored.
:param failfast: Stop running tests at the first failure.
:param buffer: Ignored.
+ :param stream: Upstream unittest stream parameter.
+ :param stdout: Testtools stream parameter.
+
+ Either stream or stdout can be supplied, and stream will take
+ precedence.
"""
self.failfast = failfast
- self.stream = stream or sys.stdout
+ self.stream = stream or stdout or sys.stdout
def run(self, test):
"Run the given test case or test suite."
@@ -112,19 +118,27 @@
sys.exit(2)
-def main():
- # Disable the default buffering, for Python 2.x where pdb doesn't do it
- # on non-ttys.
- stream = get_default_formatter()
+def main(argv=None, stdout=None):
+ if argv is None:
+ argv = sys.argv
runner = SubunitTestRunner
- # Patch stdout to be unbuffered, so that pdb works well on 2.6/2.7.
- binstdout = io.open(sys.stdout.fileno(), 'wb', 0)
- if sys.version_info[0] > 2:
- sys.stdout = io.TextIOWrapper(binstdout, encoding=sys.stdout.encoding)
- else:
- sys.stdout = binstdout
- SubunitTestProgram(module=None, argv=sys.argv, testRunner=runner,
- stdout=sys.stdout)
+ # stdout is None except in unit tests.
+ if stdout is None:
+ stdout = sys.stdout
+ # XXX: This is broken code- SUBUNIT_FORMATTER is not being honoured.
+ stream = get_default_formatter()
+ # Disable the default buffering, for Python 2.x where pdb doesn't do it
+ # on non-ttys.
+ if hasattr(stdout, 'fileno'):
+ # Patch stdout to be unbuffered, so that pdb works well on 2.6/2.7.
+ binstdout = io.open(stdout.fileno(), 'wb', 0)
+ if sys.version_info[0] > 2:
+ sys.stdout = io.TextIOWrapper(binstdout,
encoding=sys.stdout.encoding)
+ else:
+ sys.stdout = binstdout
+ stdout = sys.stdout
+ SubunitTestProgram(module=None, argv=argv, testRunner=runner,
+ stdout=stdout, exit=False)
if __name__ == '__main__':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-subunit-0.0.18/python/subunit/tests/test_run.py
new/python-subunit-0.0.21/python/subunit/tests/test_run.py
--- old/python-subunit-0.0.18/python/subunit/tests/test_run.py 2013-11-30
02:58:58.000000000 +0100
+++ new/python-subunit-0.0.21/python/subunit/tests/test_run.py 2014-08-24
07:27:32.000000000 +0200
@@ -14,10 +14,12 @@
# limitations under that license.
#
-from testtools.compat import BytesIO
+import io
import unittest
from testtools import PlaceHolder, TestCase
+from testtools.compat import _b
+from testtools.matchers import StartsWith
from testtools.testresult.doubles import StreamResult
import subunit
@@ -28,37 +30,59 @@
class TestSubunitTestRunner(TestCase):
def test_includes_timing_output(self):
- io = BytesIO()
- runner = SubunitTestRunner(stream=io)
+ bytestream = io.BytesIO()
+ runner = SubunitTestRunner(stream=bytestream)
test = PlaceHolder('name')
runner.run(test)
- io.seek(0)
+ bytestream.seek(0)
eventstream = StreamResult()
- subunit.ByteStreamToStreamResult(io).run(eventstream)
+ subunit.ByteStreamToStreamResult(bytestream).run(eventstream)
timestamps = [event[-1] for event in eventstream._events
if event is not None]
self.assertNotEqual([], timestamps)
def test_enumerates_tests_before_run(self):
- io = BytesIO()
- runner = SubunitTestRunner(stream=io)
+ bytestream = io.BytesIO()
+ runner = SubunitTestRunner(stream=bytestream)
test1 = PlaceHolder('name1')
test2 = PlaceHolder('name2')
case = unittest.TestSuite([test1, test2])
runner.run(case)
- io.seek(0)
+ bytestream.seek(0)
eventstream = StreamResult()
- subunit.ByteStreamToStreamResult(io).run(eventstream)
+ subunit.ByteStreamToStreamResult(bytestream).run(eventstream)
self.assertEqual([
('status', 'name1', 'exists'),
('status', 'name2', 'exists'),
], [event[:3] for event in eventstream._events[:2]])
def test_list_errors_if_errors_from_list_test(self):
- io = BytesIO()
- runner = SubunitTestRunner(stream=io)
+ bytestream = io.BytesIO()
+ runner = SubunitTestRunner(stream=bytestream)
def list_test(test):
return [], ['failed import']
self.patch(run, 'list_test', list_test)
exc = self.assertRaises(SystemExit, runner.list, None)
self.assertEqual((2,), exc.args)
+
+ class FailingTest(TestCase):
+ def test_fail(self):
+ 1/0
+
+ def test_exits_zero_when_tests_fail(self):
+ bytestream = io.BytesIO()
+ stream = io.TextIOWrapper(bytestream, encoding="utf8")
+ try:
+ self.assertEqual(None, run.main(
+ argv=["progName",
"subunit.tests.test_run.TestSubunitTestRunner.FailingTest"],
+ stdout=stream))
+ except SystemExit:
+ self.fail("SystemExit raised")
+ self.assertThat(bytestream.getvalue(), StartsWith(_b('\xb3')))
+
+ def test_exits_nonzero_when_execution_errors(self):
+ bytestream = io.BytesIO()
+ stream = io.TextIOWrapper(bytestream, encoding="utf8")
+ exc = self.assertRaises(Exception, run.main,
+ argv=["progName",
"subunit.tests.test_run.TestSubunitTestRunner.MissingTest"],
+ stdout=stream)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-subunit-0.0.18/python_subunit.egg-info/PKG-INFO
new/python-subunit-0.0.21/python_subunit.egg-info/PKG-INFO
--- old/python-subunit-0.0.18/python_subunit.egg-info/PKG-INFO 2014-01-29
20:16:59.000000000 +0100
+++ new/python-subunit-0.0.21/python_subunit.egg-info/PKG-INFO 2014-08-27
03:33:40.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: python-subunit
-Version: 0.0.18
+Version: 0.0.21
Summary: Python implementation of subunit test streaming protocol
Home-page: http://launchpad.net/subunit
Author: Robert Collins
@@ -470,10 +470,10 @@
========
* Update versions in configure.ac and python/subunit/__init__.py.
- * Update Makefile in the root or do an inplace configure to get an
updated Makefile.
* Update NEWS.
- * Make PyPI and regular tarball releases. Upload the regular one to
LP, the
- PyPI one to PyPI.
+ * Do a make distcheck, which will update Makefile etc.
+ * Do a PyPI release: PYTHONPATH=../../python python ../../setup.py
sdist upload -s
+ * Upload the regular one to LP.
* Push a tagged commit.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-subunit-0.0.18/python_subunit.egg-info/SOURCES.txt
new/python-subunit-0.0.21/python_subunit.egg-info/SOURCES.txt
--- old/python-subunit-0.0.18/python_subunit.egg-info/SOURCES.txt
2014-01-29 20:16:59.000000000 +0100
+++ new/python-subunit-0.0.21/python_subunit.egg-info/SOURCES.txt
2014-08-27 03:33:40.000000000 +0200
@@ -10,6 +10,7 @@
filters/subunit-output
filters/subunit-stats
filters/subunit-tags
+filters/subunit2csv
filters/subunit2gtk
filters/subunit2junitxml
filters/subunit2pyunit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-subunit-0.0.18/python_subunit.egg-info/requires.txt
new/python-subunit-0.0.21/python_subunit.egg-info/requires.txt
--- old/python-subunit-0.0.18/python_subunit.egg-info/requires.txt
2014-01-29 20:16:59.000000000 +0100
+++ new/python-subunit-0.0.21/python_subunit.egg-info/requires.txt
2014-08-27 03:33:40.000000000 +0200
@@ -1,3 +1,2 @@
extras
-testscenarios
testtools>=0.9.34
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-subunit-0.0.18/setup.py
new/python-subunit-0.0.21/setup.py
--- old/python-subunit-0.0.18/setup.py 2014-01-13 01:07:19.000000000 +0100
+++ new/python-subunit-0.0.21/setup.py 2014-08-27 03:31:09.000000000 +0200
@@ -1,4 +1,5 @@
#!/usr/bin/env python
+import os.path
try:
# If the user has setuptools / distribute installed, use it
from setuptools import setup
@@ -10,9 +11,11 @@
extra = {
'install_requires': [
'extras',
- 'testscenarios',
'testtools>=0.9.34',
- ]
+ ],
+ 'tests_require': [
+ 'testscenarios',
+ ],
}
@@ -33,6 +36,9 @@
or "0.0")
+relpath = os.path.dirname(__file__)
+if relpath:
+ os.chdir(relpath)
setup(
name='python-subunit',
version=VERSION,
@@ -59,6 +65,7 @@
'filters/subunit-output',
'filters/subunit-stats',
'filters/subunit-tags',
+ 'filters/subunit2csv',
'filters/subunit2gtk',
'filters/subunit2junitxml',
'filters/subunit2pyunit',
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]