Hello community,

here is the log from the commit of package python-pyVows for openSUSE:Factory 
checked in at 2020-03-11 18:51:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyVows (Old)
 and      /work/SRC/openSUSE:Factory/.python-pyVows.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pyVows"

Wed Mar 11 18:51:57 2020 rev:3 rq:783594 version:3.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyVows/python-pyVows.changes      
2019-03-10 09:37:04.764151757 +0100
+++ /work/SRC/openSUSE:Factory/.python-pyVows.new.3160/python-pyVows.changes    
2020-03-11 18:54:53.211662554 +0100
@@ -1,0 +2,9 @@
+Wed Mar 11 05:04:44 UTC 2020 - Steve Kowalik <steven.kowa...@suse.com>
+
+- Update to 3.0.0:
+  * No upstream changelog, various fixes for Python 3.
+- Drop patches no longer required:
+  * pr_133.patch
+  * py37-async-keyword.patch
+
+-------------------------------------------------------------------

Old:
----
  pr_133.patch
  py37-async-keyword.patch
  pyVows-2.1.0.tar.gz

New:
----
  pyVows-3.0.0.tar.gz

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

Other differences:
------------------
++++++ python-pyVows.spec ++++++
--- /var/tmp/diff_new_pack.KcSjxj/_old  2020-03-11 18:54:53.595662725 +0100
+++ /var/tmp/diff_new_pack.KcSjxj/_new  2020-03-11 18:54:53.595662725 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pyVows
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,19 +18,16 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pyVows
-Version:        2.1.0
+Version:        3.0.0
 Release:        0
 Summary:        BDD test engine based on Vows.js
 License:        MIT
 Group:          Development/Languages/Python
 URL:            https://github.com/heynemann/pyvows
 Source:         
https://files.pythonhosted.org/packages/source/p/pyVows/pyVows-%{version}.tar.gz
-# Extracted from  
https://patch-diff.githubusercontent.com/raw/heynemann/pyvows/pull/133.patch
-Patch0:         pr_133.patch
-Patch1:         py37-async-keyword.patch
 BuildRequires:  %{python_module Unidecode}
-BuildRequires:  %{python_module gevent >= 0.13.6}
 BuildRequires:  %{python_module colorama >= 0.3.7}
+BuildRequires:  %{python_module gevent >= 0.13.6}
 BuildRequires:  %{python_module preggy >= 0.5.8}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
@@ -47,8 +44,6 @@
 
 %prep
 %setup -q -n pyVows-%{version}
-%patch0 -p1
-%patch1 -p1
 sed -i '/^#!/d' pyvows/__main__.py pyvows/cli.py
 
 %build

++++++ pyVows-2.1.0.tar.gz -> pyVows-3.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/PKG-INFO new/pyVows-3.0.0/PKG-INFO
--- old/pyVows-2.1.0/PKG-INFO   2016-07-26 18:35:58.000000000 +0200
+++ new/pyVows-3.0.0/PKG-INFO   2019-11-26 04:02:02.209948000 +0100
@@ -1,10 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: pyVows
-Version: 2.1.0
+Version: 3.0.0
 Summary: pyVows is a BDD test engine based on Vows.js <http://vowsjs.org>.
 Home-page: http://pyvows.org
-Author: Zearin
+Author: Bernardo Heynemann
 Author-email: heynem...@gmail.com
+Maintainer: Zearin
 License: MIT
 Description: pyVows is a test engine based on Vows.js. It features topic-based 
testing,
                 (*fast*) parallel running of tests, code coverage reports, 
test profiling, and
@@ -26,3 +27,5 @@
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Software Development :: Testing
+Description-Content-Type: text/x-rst
+Provides-Extra: tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/README.md new/pyVows-3.0.0/README.md
--- old/pyVows-2.1.0/README.md  1970-01-01 01:00:00.000000000 +0100
+++ new/pyVows-3.0.0/README.md  2019-11-25 03:39:08.000000000 +0100
@@ -0,0 +1,17 @@
+[![Build 
Status](https://secure.travis-ci.org/heynemann/pyvows.png?branch=master)](http://travis-ci.org/heynemann/pyvows)
+[![Coverage 
Status](https://coveralls.io/repos/heynemann/pyvows/badge.png)](https://coveralls.io/r/heynemann/pyvows)
+[![PyPI 
Version](https://pypip.in/v/pyVows/badge.png)](https://crate.io/packages/pyVows)
+[![PyPI 
Downloads](https://pypip.in/d/pyVows/badge.png)](https://crate.io/packages/pyVows)
+
+PyVows is the Python version of the [Vows.JS](http://vowsjs.org) testing 
framework.
+
+For more info, go to [pyVows website](http://pyvows.org).
+
+If you are using [tornado](http://www.tornadoweb.org), check out the 
+[Tornado_pyVows project](https://github.com/rafaelcaricio/tornado_pyvows) 
+by Rafael Carício.
+
+----
+
+**Want to contribute?**  Awesome!  Please be sure to read 
+[Contributing](./CONTRIBUTING.md) first.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/PKG-INFO 
new/pyVows-3.0.0/pyVows.egg-info/PKG-INFO
--- old/pyVows-2.1.0/pyVows.egg-info/PKG-INFO   2016-07-26 18:35:58.000000000 
+0200
+++ new/pyVows-3.0.0/pyVows.egg-info/PKG-INFO   2019-11-26 04:02:02.000000000 
+0100
@@ -1,10 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: pyVows
-Version: 2.1.0
+Version: 3.0.0
 Summary: pyVows is a BDD test engine based on Vows.js <http://vowsjs.org>.
 Home-page: http://pyvows.org
-Author: Zearin
+Author: Bernardo Heynemann
 Author-email: heynem...@gmail.com
+Maintainer: Zearin
 License: MIT
 Description: pyVows is a test engine based on Vows.js. It features topic-based 
testing,
                 (*fast*) parallel running of tests, code coverage reports, 
test profiling, and
@@ -26,3 +27,5 @@
 Classifier: Programming Language :: Python :: 2.6
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Topic :: Software Development :: Testing
+Description-Content-Type: text/x-rst
+Provides-Extra: tests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/SOURCES.txt 
new/pyVows-3.0.0/pyVows.egg-info/SOURCES.txt
--- old/pyVows-2.1.0/pyVows.egg-info/SOURCES.txt        2016-07-26 
18:35:58.000000000 +0200
+++ new/pyVows-3.0.0/pyVows.egg-info/SOURCES.txt        2019-11-26 
04:02:02.000000000 +0100
@@ -1,4 +1,5 @@
 MANIFEST.in
+README.md
 setup.py
 pyVows.egg-info/PKG-INFO
 pyVows.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyVows.egg-info/requires.txt 
new/pyVows-3.0.0/pyVows.egg-info/requires.txt
--- old/pyVows-2.1.0/pyVows.egg-info/requires.txt       2016-07-26 
18:35:58.000000000 +0200
+++ new/pyVows-3.0.0/pyVows.egg-info/requires.txt       2019-11-26 
04:02:02.000000000 +0100
@@ -1,7 +1,7 @@
-gevent>=0.13.6
-preggy>=0.11.1
+gevent>=1.2.2
+preggy>=1.3.0
 
 [tests]
-argparse
-colorama
-coverage
+argparse>=1.4.0
+colorama>=0.3.7
+coverage>=4.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/cli.py 
new/pyVows-3.0.0/pyvows/cli.py
--- old/pyVows-2.1.0/pyvows/cli.py      2016-07-26 18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/pyvows/cli.py      2019-11-26 03:58:05.000000000 +0100
@@ -224,7 +224,7 @@
 
             if xml:
                 if arguments.cover_report:
-                    with open(arguments.cover_report, 'w') as report:
+                    with open(arguments.cover_report, 'wb') as report:
                         report.write(xml)
 
                 arguments.cover_threshold /= 100.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/common.py 
new/pyVows-3.0.0/pyvows/reporting/common.py
--- old/pyVows-2.1.0/pyvows/reporting/common.py 2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/reporting/common.py 2019-11-26 03:58:05.000000000 
+0100
@@ -42,10 +42,10 @@
     Currently used only for characters `✓` and `✗`.
 
     '''
-    if isinstance(thing, unicode):
-        return thing.encode(encoding)
-    else:
+    if isinstance(thing, bytes) or not isinstance(thing, str):
         return thing
+    else:
+        return thing.encode(encoding)
 
 
 class VowsReporter(object):
@@ -169,8 +169,10 @@
         '''Prints a color-formatted traceback with appropriate indentation.'''
         if isinstance(err_obj, AssertionError):
             error_msg = err_obj
+        elif isinstance(err_obj, bytes):
+            error_msg = err_obj.decode('utf8')
         else:
-            error_msg = unicode(err_obj)
+            error_msg = err_obj
 
         print(self.indent_msg(red(error_msg)), file=file)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/test.py 
new/pyVows-3.0.0/pyvows/reporting/test.py
--- old/pyVows-2.1.0/pyvows/reporting/test.py   2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/reporting/test.py   2019-11-26 03:58:05.000000000 
+0100
@@ -11,7 +11,10 @@
 from __future__ import division, print_function
 
 import sys
-from StringIO import StringIO
+try:
+    from StringIO import StringIO
+except:
+    from io import StringIO
 
 from pyvows.color import yellow, red, blue
 from pyvows.reporting.common import (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/reporting/xunit.py 
new/pyVows-3.0.0/pyvows/reporting/xunit.py
--- old/pyVows-2.1.0/pyvows/reporting/xunit.py  2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/reporting/xunit.py  2019-11-26 03:58:05.000000000 
+0100
@@ -26,7 +26,7 @@
     def __init__(self, result):
         self.result_summary = self.summarize_results(result)
 
-    def write_report(self, filename, encoding='utf-8'):
+    def write_report(self, filename, encoding=None):
         #   FIXME: Add Docstring
         with codecs.open(filename, 'w', encoding, 'replace') as output_file:
             output_file.write(self.to_xml(encoding))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/abc.py 
new/pyVows-3.0.0/pyvows/runner/abc.py
--- old/pyVows-2.1.0/pyvows/runner/abc.py       2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/runner/abc.py       2019-11-26 03:58:05.000000000 
+0100
@@ -67,7 +67,7 @@
             vow_result['succeeded'] = True
             if self.on_vow_success:
                 self.on_vow_success(vow_result)
-        except SkipTest, se:
+        except SkipTest as se:
             vow_result['skip'] = se
         except:
             err_type, err_value, err_traceback = sys.exc_info()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/executionplan.py 
new/pyVows-3.0.0/pyvows/runner/executionplan.py
--- old/pyVows-2.1.0/pyvows/runner/executionplan.py     2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/pyvows/runner/executionplan.py     2019-11-26 
03:58:05.000000000 +0100
@@ -15,7 +15,7 @@
 
     def plan(self):
         plan = {}
-        for suiteName, contextClasses in self.suites.iteritems():
+        for suiteName, contextClasses in self.suites.items():
             plan[suiteName] = {
                 'contexts': {}
             }
@@ -63,9 +63,10 @@
         ]
 
         context['vows'] = [
-            name for name, vow in contextMembers if inspect.ismethod(vow)
-            and self.is_included(context['id'] + '.' + name)
-            and not self.is_excluded(name)
+            name for name, vow in contextMembers
+            if (inspect.ismethod(vow) or inspect.isfunction(vow))
+               and self.is_included(context['id'] + '.' + name)
+               and not self.is_excluded(name)
         ]
 
         subcontexts = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/gevent.py 
new/pyVows-3.0.0/pyvows/runner/gevent.py
--- old/pyVows-2.1.0/pyvows/runner/gevent.py    2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/runner/gevent.py    2019-11-26 03:58:05.000000000 
+0100
@@ -14,7 +14,10 @@
 import inspect
 import sys
 import time
-import StringIO
+try:
+    from StringIO import StringIO
+except:
+    from io import StringIO
 try:
     from colorama.ansitowin32 import AnsiToWin32
 except ImportError:
@@ -36,8 +39,8 @@
 
 class _LocalOutput(gevent.local.local):
     def __init__(self):
-        self.__dict__['stdout'] = StringIO.StringIO()
-        self.__dict__['stderr'] = StringIO.StringIO()
+        self.__dict__['stdout'] = StringIO()
+        self.__dict__['stderr'] = StringIO()
 
 
 class _StreamCapture(object):
@@ -71,9 +74,9 @@
         start_time = time.time()
         result = VowsResult()
         if self.capture_output:
-            self._capture_streams(self.capture_output)
+            self._capture_streams(True)
         try:
-            for suiteName, suitePlan in self.execution_plan.iteritems():
+            for suiteName, suitePlan in self.execution_plan.items():
                 batches = [batch for batch in self.suites[suiteName] if 
batch.__name__ in suitePlan['contexts']]
                 for batch in batches:
                     self.pool.spawn(
@@ -88,7 +91,8 @@
 
             self.pool.join()
         finally:
-            self._capture_streams(False)
+            if self.capture_output:
+                self._capture_streams(False)
 
         result.elapsed_time = elapsed(start_time)
         return result
@@ -125,11 +129,11 @@
             except Exception:
                 raise VowsTopicError('setup', sys.exc_info())
 
-            # Find & run topic function
-            if not hasattr(ctx_obj, 'topic'):  # ctx_obj has no topic
-                return ctx_obj._get_first_available_topic(index)
-
             try:
+                # Find & run topic function
+                if not hasattr(ctx_obj, 'topic'):  # ctx_obj has no topic
+                    return ctx_obj._get_first_available_topic(index)
+
                 topic_func = ctx_obj.topic
                 topic_list = get_topics_for(topic_func, ctx_obj)
 
@@ -239,11 +243,11 @@
             try:
                 topic = _run_setup_and_topic(ctx_obj, index)
                 _update_execution_plan()
-            except SkipTest, se:
+            except SkipTest as se:
                 ctx_result['skip'] = se
                 skipReason = se
                 topic = None
-            except VowsTopicError, e:
+            except VowsTopicError as e:
                 ctx_result['error'] = e
                 skipReason = SkipTest('topic dependency failed')
                 topic = None
@@ -251,7 +255,7 @@
             if not ctx_result['error']:
                 try:
                     _run_teardown()
-                except Exception, e:
+                except Exception as e:
                     ctx_result['error'] = e
         finally:
             ctx_result['stdout'] = VowsParallelRunner.output.stdout.getvalue()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/runner/utils.py 
new/pyVows-3.0.0/pyvows/runner/utils.py
--- old/pyVows-2.1.0/pyvows/runner/utils.py     2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/pyvows/runner/utils.py     2019-11-26 03:58:05.000000000 
+0100
@@ -34,10 +34,10 @@
     # check for decorated topic function
     if hasattr(topic_function, '_original'):
         # _wrapper_type is 'async_topic' or 'capture_error'
-        async = (getattr(topic_function, '_wrapper_type', None) == 
'async_topic')
+        _async = (getattr(topic_function, '_wrapper_type', None) == 
'async_topic')
         topic_function = topic_function._original
     else:
-        async = False
+        _async = False
  
     code = get_code_for(topic_function)
  
@@ -48,7 +48,7 @@
     expected_args = code.co_argcount - 1
  
     # taking the callback argument into consideration
-    if async:
+    if _async:
         expected_args -= 1
  
     # prepare to create `topics` list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/pyvows/version.py 
new/pyVows-3.0.0/pyvows/version.py
--- old/pyVows-2.1.0/pyvows/version.py  2016-07-26 18:33:49.000000000 +0200
+++ new/pyVows-3.0.0/pyvows/version.py  2019-11-26 03:59:00.000000000 +0100
@@ -12,7 +12,7 @@
 
 
#-------------------------------------------------------------------------------------------------
 
-__version__ = (2, 1, 0)
+__version__ = (3, 0, 0)
 
 
#-------------------------------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/setup.cfg new/pyVows-3.0.0/setup.cfg
--- old/pyVows-2.1.0/setup.cfg  2016-07-26 18:35:58.000000000 +0200
+++ new/pyVows-3.0.0/setup.cfg  2019-11-26 04:02:02.209948000 +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/pyVows-2.1.0/setup.py new/pyVows-3.0.0/setup.py
--- old/pyVows-2.1.0/setup.py   2016-07-26 18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/setup.py   2019-11-26 03:58:17.000000000 +0100
@@ -18,14 +18,14 @@
 
 
 _test_requires = [
-    'argparse',
-    'colorama',
-    'coverage'
+    'argparse>=1.4.0',
+    'colorama>=0.3.7',
+    'coverage>=4.1.1'
 
 ]
 _install_requires = [
-    'gevent>=0.13.6',
-    'preggy>=0.11.1',
+    'gevent>=1.2.2',
+    'preggy>=1.3.0',
 ]
 if sys.version_info < (2, 7):
     _install_requires.append('argparse >= 1.1')
@@ -35,6 +35,7 @@
     ### OVERVIEW
     name='pyVows',
     description='pyVows is a BDD test engine based on Vows.js 
<http://vowsjs.org>.',
+    long_description_content_type='text/x-rst',
     long_description=dedent(
         '''pyVows is a test engine based on Vows.js. It features topic-based 
testing,
         (*fast*) parallel running of tests, code coverage reports, test 
profiling, and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/assertions/like_vows.py 
new/pyVows-3.0.0/tests/assertions/like_vows.py
--- old/pyVows-2.1.0/tests/assertions/like_vows.py      2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/assertions/like_vows.py      2019-11-26 
03:58:05.000000000 +0100
@@ -47,9 +47,6 @@
         def we_assert_it_is_like_42_float(self, topic):
             expect(topic).to_be_like(42.0)
 
-        def we_assert_it_is_like_42_long(self, topic):
-            expect(topic).to_be_like(long(42))
-
         def we_assert_it_is_not_like_41(self, topic):
             expect(topic).Not.to_be_like(41)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/assertions/types/file_vows.py 
new/pyVows-3.0.0/tests/assertions/types/file_vows.py
--- old/pyVows-2.1.0/tests/assertions/types/file_vows.py        2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/assertions/types/file_vows.py        2019-11-26 
03:58:05.000000000 +0100
@@ -15,7 +15,9 @@
 STRINGS = {
     'that_are_files': (
         __file__,
-        unicode(__file__),
+        (__file__.decode('utf8')
+         if isinstance(__file__, bytes) \
+         else __file__),
     ),
 
     'that_are_not_files':   (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/async_vows.py 
new/pyVows-3.0.0/tests/async_vows.py
--- old/pyVows-2.1.0/tests/async_vows.py        2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/tests/async_vows.py        2019-11-26 03:58:05.000000000 
+0100
@@ -15,13 +15,13 @@
 
#-------------------------------------------------------------------------------------------------
 
 def asyncFunc(pool, callback):
-    def async():
+    def _async():
         time.sleep(0.1)
         return 10
 
     def get_value(value):
         callback(value, 20, kwarg=30, kw2=40)
-    pool.apply_async(async, callback=get_value)
+    pool.apply_async(_async, callback=get_value)
 
 
#-------------------------------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/bugs/64_vows.py 
new/pyVows-3.0.0/tests/bugs/64_vows.py
--- old/pyVows-2.1.0/tests/bugs/64_vows.py      2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/tests/bugs/64_vows.py      2019-11-26 03:58:05.000000000 
+0100
@@ -11,7 +11,10 @@
 from pyvows.result import VowsResult
 from pyvows.reporting import VowsTestReporter  # , VowsDefaultReporter
 
-from StringIO import StringIO
+try:
+    from StringIO import StringIO
+except:
+    from io import StringIO
 
 
 @Vows.batch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/context_inheritance_vows.py 
new/pyVows-3.0.0/tests/context_inheritance_vows.py
--- old/pyVows-2.1.0/tests/context_inheritance_vows.py  2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/context_inheritance_vows.py  2019-11-26 
03:58:05.000000000 +0100
@@ -31,7 +31,8 @@
     # Second case: BaseSubcontext should be ignored.
     class BaseSubcontext(Vows.Context):
 
-        def topic(self, (Thingy, ponies)):
+        def topic(self, v):
+            (Thingy, ponies) = v
             self.ignore('prepare')
             for pony in ponies:
                 yield (Thingy, self.prepare(pony))
@@ -56,7 +57,8 @@
         class ActualSubcontext(BaseContext.BaseSubcontext):
 
             def prepare(self, something):
-                return unicode(something)
+                return something.decode('utf8') if isinstance(something, 
bytes) else something
 
-            def pony_is_alicorn(self, (Thingy, pony)):
+            def pony_is_alicorn(self, v):
+                (Thingy, pony) = v
                 expect(Thingy.alicorns).to_include(pony)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/prune_execution_vows.py 
new/pyVows-3.0.0/tests/prune_execution_vows.py
--- old/pyVows-2.1.0/tests/prune_execution_vows.py      2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/prune_execution_vows.py      2019-11-26 
03:58:05.000000000 +0100
@@ -141,7 +141,7 @@
             }
             expect(topic).to_equal(baseline)
 
-    class WithBothInclusionAndExclution(Vows.Context):
+    class WithBothInclusionAndExclusion(Vows.Context):
         @Vows.capture_error
         def topic(self):
             planner = ExecutionPlanner(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/reporting/error_reporting_vows.py 
new/pyVows-3.0.0/tests/reporting/error_reporting_vows.py
--- old/pyVows-2.1.0/tests/reporting/error_reporting_vows.py    2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/reporting/error_reporting_vows.py    2019-11-26 
03:58:05.000000000 +0100
@@ -12,7 +12,10 @@
 from pyvows.reporting import VowsDefaultReporter
 from pyvows.runner.abc import VowsTopicError
 
-from StringIO import StringIO
+try:
+    from StringIO import StringIO
+except:
+    from io import StringIO
 
 # These tests check that the reporting, which happens after all tests
 # have run, correctly shows the errors raised in topic functions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/reporting/xunit_reporter_vows.py 
new/pyVows-3.0.0/tests/reporting/xunit_reporter_vows.py
--- old/pyVows-2.1.0/tests/reporting/xunit_reporter_vows.py     2016-07-26 
18:24:45.000000000 +0200
+++ new/pyVows-3.0.0/tests/reporting/xunit_reporter_vows.py     2019-11-26 
03:58:05.000000000 +0100
@@ -34,11 +34,10 @@
             return reporter
 
         def should_create_xml_header(self, topic):
-            expect(topic.to_xml().find('<?xml version="1.0" 
encoding="utf-8"?>')).to_equal(0)
+            expect(topic.to_xml().find(b'<?xml version="1.0" 
encoding="utf-8"?>')).to_equal(0)
 
         def should_have_a_testsuite_node(self, topic):
-            expect(topic.to_xml()).to_match(r'.*<testsuite errors="0" 
failures="0" hostname=".+?" ' +
-                                            'name="pyvows" skip="0" tests="0" 
time="0\.000" timestamp=".+?"/>')
+            expect(topic.to_xml()).to_match(br'.*<testsuite.*/>')
 
         class WithDocument(Vows.Context):
             def topic(self, topic):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyVows-2.1.0/tests/skipping_vows.py 
new/pyVows-3.0.0/tests/skipping_vows.py
--- old/pyVows-2.1.0/tests/skipping_vows.py     2016-07-26 18:24:45.000000000 
+0200
+++ new/pyVows-3.0.0/tests/skipping_vows.py     2019-11-26 03:58:05.000000000 
+0100
@@ -6,7 +6,10 @@
 from pyvows.reporting.xunit import XUnitReporter
 from pyvows.reporting.common import V_VERBOSE
 
-from StringIO import StringIO
+try:
+    from StringIO import StringIO
+except:
+    from io import StringIO
 
 
 @Vows.batch
@@ -331,7 +334,10 @@
 
                 def tests_should_not_run_vow_shows_run(self, topic):
                     expect(topic).Not.to_include('? tests should not run\n')
-                    expect(topic).to_include('tests should not run\n')
+                    try:
+                        expect(topic).to_include('tests should not run\n')
+                    except:
+                        expect(topic).to_include("b'tests should not run'\n")
 
                 def 
subcontext_tests_should_also_not_run_vow_shows_skipped(self, topic):
                     expect(topic).to_include('? subcontext tests should also 
not run\n')


Reply via email to