Hello community,
here is the log from the commit of package python-nose-progressive for
openSUSE:Factory checked in at 2019-06-14 20:24:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nose-progressive (Old)
and /work/SRC/openSUSE:Factory/.python-nose-progressive.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nose-progressive"
Fri Jun 14 20:24:29 2019 rev:3 rq:707612 version:1.5.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-nose-progressive/python-nose-progressive.changes
2018-12-24 11:40:16.025511999 +0100
+++
/work/SRC/openSUSE:Factory/.python-nose-progressive.new.4811/python-nose-progressive.changes
2019-06-14 20:24:30.530798792 +0200
@@ -1,0 +2,10 @@
+Tue Jun 4 12:51:54 UTC 2019 - Marketa Calabkova <[email protected]>
+
+- update to 1.5.2
+ * Handle KeyboardInterrupt more gracefully. (Alexander Artemenko)
+ * Look up exception messages more compatibly with Python 3.4. (Paul Weaver)
+ * Gracefully handle proxied SyntaxErrors when using the logcapture
+ plugin. (Lucas Taylor)
+ * Add LICENSE to MANIFEST.in. (Sanny Kumar)
+
+-------------------------------------------------------------------
Old:
----
nose-progressive-1.5.1.tar.gz
New:
----
nose-progressive-1.5.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nose-progressive.spec ++++++
--- /var/tmp/diff_new_pack.QrTsB0/_old 2019-06-14 20:24:31.042798626 +0200
+++ /var/tmp/diff_new_pack.QrTsB0/_new 2019-06-14 20:24:31.042798626 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-nose-progressive
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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,20 +18,21 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-nose-progressive
-Version: 1.5.1
+Version: 1.5.2
Release: 0
Summary: A testrunner with a progress bar and smarter tracebacks
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/erikrose/nose-progressive
+URL: https://github.com/erikrose/nose-progressive
Source:
https://files.pythonhosted.org/packages/source/n/nose-progressive/nose-progressive-%{version}.tar.gz
+BuildRequires: %{python_module blessings >= 1.3}
+BuildRequires: %{python_module nose >= 1.2.1}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-blessings >= 1.3
Requires: python-nose >= 1.2.1
BuildArch: noarch
-
%python_subpackages
%description
@@ -52,8 +53,13 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%check
+# The test files use 'import __builtin__', which is python2 only syntax. But
nose does not mind and
+# therefore runs into some other differences between pythons... Surprisingly,
most of python3 tests pass.
+python setup.py test
+
%files %{python_files}
-%defattr(-,root,root,-)
+%license LICENSE
%doc README.rst
%{python_sitelib}/*
++++++ nose-progressive-1.5.1.tar.gz -> nose-progressive-1.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/LICENSE
new/nose-progressive-1.5.2/LICENSE
--- old/nose-progressive-1.5.1/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/nose-progressive-1.5.2/LICENSE 2014-04-28 01:09:37.000000000 +0200
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2011 Erik Rose
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/MANIFEST.in
new/nose-progressive-1.5.2/MANIFEST.in
--- old/nose-progressive-1.5.1/MANIFEST.in 2011-11-21 06:56:48.000000000
+0100
+++ new/nose-progressive-1.5.2/MANIFEST.in 2018-11-27 02:37:35.000000000
+0100
@@ -1,2 +1,3 @@
include README.rst
include tox.ini
+include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/PKG-INFO
new/nose-progressive-1.5.2/PKG-INFO
--- old/nose-progressive-1.5.1/PKG-INFO 2014-04-28 01:35:05.000000000 +0200
+++ new/nose-progressive-1.5.2/PKG-INFO 2018-11-27 02:47:12.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: nose-progressive
-Version: 1.5.1
+Version: 1.5.2
Summary: A testrunner with a progress bar and smarter tracebacks
Home-page: https://github.com/erikrose/nose-progressive
Author: Erik Rose
Author-email: [email protected]
License: MIT
+Description-Content-Type: UNKNOWN
Description: ================
nose-progressive
================
@@ -312,6 +313,12 @@
Version History
===============
+ 1.5.2
+ * Handle KeyboardInterrupt more gracefully. (Alexander Artemenko)
+ * Look up exception messages more compatibly with Python 3.4. (Paul
Weaver)
+ * Gracefully handle proxied SyntaxErrors when using the logcapture
plugin. (Lucas Taylor)
+ * Add LICENSE to MANIFEST.in. (Sanny Kumar)
+
1.5.1
* Avoid a TypeError when running nose-progressive from within
``invoke``,
which obscures the terminal size.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/README.rst
new/nose-progressive-1.5.2/README.rst
--- old/nose-progressive-1.5.1/README.rst 2014-04-28 01:20:36.000000000
+0200
+++ new/nose-progressive-1.5.2/README.rst 2018-11-27 02:45:40.000000000
+0100
@@ -304,6 +304,12 @@
Version History
===============
+1.5.2
+ * Handle KeyboardInterrupt more gracefully. (Alexander Artemenko)
+ * Look up exception messages more compatibly with Python 3.4. (Paul Weaver)
+ * Gracefully handle proxied SyntaxErrors when using the logcapture plugin.
(Lucas Taylor)
+ * Add LICENSE to MANIFEST.in. (Sanny Kumar)
+
1.5.1
* Avoid a TypeError when running nose-progressive from within ``invoke``,
which obscures the terminal size.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/nose-progressive-1.5.1/nose_progressive.egg-info/PKG-INFO
new/nose-progressive-1.5.2/nose_progressive.egg-info/PKG-INFO
--- old/nose-progressive-1.5.1/nose_progressive.egg-info/PKG-INFO
2014-04-28 01:35:05.000000000 +0200
+++ new/nose-progressive-1.5.2/nose_progressive.egg-info/PKG-INFO
2018-11-27 02:47:12.000000000 +0100
@@ -1,11 +1,12 @@
Metadata-Version: 1.1
Name: nose-progressive
-Version: 1.5.1
+Version: 1.5.2
Summary: A testrunner with a progress bar and smarter tracebacks
Home-page: https://github.com/erikrose/nose-progressive
Author: Erik Rose
Author-email: [email protected]
License: MIT
+Description-Content-Type: UNKNOWN
Description: ================
nose-progressive
================
@@ -312,6 +313,12 @@
Version History
===============
+ 1.5.2
+ * Handle KeyboardInterrupt more gracefully. (Alexander Artemenko)
+ * Look up exception messages more compatibly with Python 3.4. (Paul
Weaver)
+ * Gracefully handle proxied SyntaxErrors when using the logcapture
plugin. (Lucas Taylor)
+ * Add LICENSE to MANIFEST.in. (Sanny Kumar)
+
1.5.1
* Avoid a TypeError when running nose-progressive from within
``invoke``,
which obscures the terminal size.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/nose-progressive-1.5.1/nose_progressive.egg-info/SOURCES.txt
new/nose-progressive-1.5.2/nose_progressive.egg-info/SOURCES.txt
--- old/nose-progressive-1.5.1/nose_progressive.egg-info/SOURCES.txt
2014-04-28 01:35:05.000000000 +0200
+++ new/nose-progressive-1.5.2/nose_progressive.egg-info/SOURCES.txt
2018-11-27 02:47:12.000000000 +0100
@@ -1,3 +1,4 @@
+LICENSE
MANIFEST.in
README.rst
setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/nose-progressive-1.5.1/nose_progressive.egg-info/requires.txt
new/nose-progressive-1.5.2/nose_progressive.egg-info/requires.txt
--- old/nose-progressive-1.5.1/nose_progressive.egg-info/requires.txt
2014-04-28 01:35:05.000000000 +0200
+++ new/nose-progressive-1.5.2/nose_progressive.egg-info/requires.txt
2018-11-27 02:47:12.000000000 +0100
@@ -1,2 +1,2 @@
nose>=1.2.1
-blessings>=1.3,<2.0
\ No newline at end of file
+blessings<2.0,>=1.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/noseprogressive/result.py
new/nose-progressive-1.5.2/noseprogressive/result.py
--- old/nose-progressive-1.5.1/noseprogressive/result.py 2013-05-16
07:02:34.000000000 +0200
+++ new/nose-progressive-1.5.2/noseprogressive/result.py 2018-11-27
02:37:44.000000000 +0100
@@ -148,7 +148,8 @@
self._recordAndPrintHeadline(test, SkipTest, reason)
# Python 2.7 users get a little bonus: the reason the test was skipped.
if isinstance(reason, Exception):
- reason = reason.message
+ reason = getattr(reason, 'message', None) or getattr(
+ reason, 'args')[0]
if reason and self._options.show_advisories:
with self.bar.dodging():
self.stream.writeln(reason)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/noseprogressive/runner.py
new/nose-progressive-1.5.2/noseprogressive/runner.py
--- old/nose-progressive-1.5.1/noseprogressive/runner.py 2011-11-07
07:59:52.000000000 +0100
+++ new/nose-progressive-1.5.2/noseprogressive/runner.py 2018-11-27
02:37:35.000000000 +0100
@@ -39,7 +39,15 @@
result = self._makeResult()
startTime = time()
- test(result)
+ try:
+ test(result)
+ except KeyboardInterrupt:
+ # we need to ignore these exception to not
+ # show traceback when user intentionally
+ # interrupted test suite execution, and
+ # to output some reasonable results on
+ # already passed and failed tests.
+ pass
stopTime = time()
# We don't care to hear about errors again at the end; we take care of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/nose-progressive-1.5.1/noseprogressive/tests/test_tracebacks.py
new/nose-progressive-1.5.2/noseprogressive/tests/test_tracebacks.py
--- old/nose-progressive-1.5.1/noseprogressive/tests/test_tracebacks.py
2013-05-16 07:02:34.000000000 +0200
+++ new/nose-progressive-1.5.2/noseprogressive/tests/test_tracebacks.py
2018-11-27 02:37:35.000000000 +0100
@@ -83,3 +83,25 @@
[(None, None, None, None)],
AttributeError,
AttributeError('I have many nasty attributes.')))
+
+
+def test_proxied_syntax_error():
+ """The logcapture plugin formats errors by extracting and converting
+ the value to a string. Nose recreates a proxy exception lacking
+ filename and lineno attributes, crashing the shortcut formatting
+ """
+ string_error = ''.join([
+ "invalid syntax (package.py, line 111)\n",
+ "-------------------- >> begin captured logging <<
--------------------\n",
+ "DEBUG: a logged message\n",
+ "--------------------- >> end captured logging <<
---------------------"
+ ])
+ # This is essentially what nose does with a string exception
+ proxied_syntax_error = type('SyntaxError', (Exception,), {})(string_error)
+ proxied_syntax_tb = ([
+ ('/usr/lib/python2.7/site-packages/nose/loader.py', 403,
'loadTestsFromName', 'module = resolve_name(addr.module)'),
+ ('/usr/lib/python2.7/site-packages/nose/util.py', 311, 'resolve_name',
"module = __import__('.'.join(parts_copy))"),
+ ('/usr/local/venvs/project/tests.py', 8, '<module>', 'from project.package
import something')
+ ], SyntaxError, proxied_syntax_error
+ )
+ ''.join(format_traceback(*proxied_syntax_tb))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/noseprogressive/tracebacks.py
new/nose-progressive-1.5.2/noseprogressive/tracebacks.py
--- old/nose-progressive-1.5.1/noseprogressive/tracebacks.py 2013-05-16
07:02:34.000000000 +0200
+++ new/nose-progressive-1.5.2/noseprogressive/tracebacks.py 2018-11-27
02:37:35.000000000 +0100
@@ -41,7 +41,7 @@
function=None):
"""Return a pretty-printed editor shortcut."""
return template.format(editor=editor,
- line_number=line_number,
+ line_number=line_number or 0,
path=path,
function=function or u'',
hash_if_function=u' # ' if function else u'',
@@ -79,8 +79,15 @@
# SyntaxErrors have a format different from other errors and include a
# file path which looks out of place in our newly highlit, editor-
# shortcutted world.
- exc_lines = [format_shortcut(editor, exc_value.filename,
exc_value.lineno)]
- formatted_exception = format_exception_only(SyntaxError, exc_value)[1:]
+ if hasattr(exc_value, 'filename') and hasattr(exc_value, 'lineno'):
+ exc_lines = [format_shortcut(editor, exc_value.filename,
exc_value.lineno)]
+ formatted_exception = format_exception_only(SyntaxError,
exc_value)[1:]
+ else:
+ # The logcapture plugin may format exceptions as strings,
+ # stripping them of the full filename and lineno
+ exc_lines = []
+ formatted_exception = format_exception_only(SyntaxError, exc_value)
+ formatted_exception.append(u'(Try --nologcapture for a more
detailed traceback)\n')
else:
exc_lines = []
formatted_exception = format_exception_only(exc_type, exc_value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/noseprogressive/wrapping.py
new/nose-progressive-1.5.2/noseprogressive/wrapping.py
--- old/nose-progressive-1.5.1/noseprogressive/wrapping.py 2013-04-09
10:21:23.000000000 +0200
+++ new/nose-progressive-1.5.2/noseprogressive/wrapping.py 2018-11-27
02:37:35.000000000 +0100
@@ -29,7 +29,10 @@
sys.stdout = wrapped_stdout
return ret
- orig_raw_input = raw_input
+ try:
+ orig_raw_input = raw_input
+ except NameError:
+ orig_raw_input = input
if hasattr(sys.stdout, 'stream'):
__builtin__.raw_input = unwrapping_raw_input
# else if capture plugin has replaced it with a StringIO, don't bother.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/setup.cfg
new/nose-progressive-1.5.2/setup.cfg
--- old/nose-progressive-1.5.1/setup.cfg 2014-04-28 01:35:05.000000000
+0200
+++ new/nose-progressive-1.5.2/setup.cfg 2018-11-27 02:47:12.000000000
+0100
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/nose-progressive-1.5.1/setup.py
new/nose-progressive-1.5.2/setup.py
--- old/nose-progressive-1.5.1/setup.py 2014-04-28 01:20:49.000000000 +0200
+++ new/nose-progressive-1.5.2/setup.py 2018-11-27 02:45:58.000000000 +0100
@@ -17,7 +17,7 @@
setup(
name='nose-progressive',
- version='1.5.1',
+ version='1.5.2',
description='A testrunner with a progress bar and smarter tracebacks',
long_description=codecs.open('README.rst', encoding='utf-8').read(),
author='Erik Rose',